PHP在单个列中写入数据

问题描述 投票:0回答:1

[当我想将数据放入CSV / Excel文件时,它将自动将所有数据放入一列,这不是很容易阅读,我希望每个数据都具有一列。这是我的代码:

<?php
$data = array(
  'aaa,bbb,ccc,dddd',
  '123,456,789',
  '"aaa","bbb"'
);
$fp = fopen('test.csv', 'w');
foreach ( $data as $line ) {
  $val = explode(",", $line);
  fputcsv($fp, $val);
}
fclose($fp);
?>

这就是csv / excel文件中显示的内容:

现在如何:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS91cm55OC5wbmcifQ==” alt =“现在怎么样”>

这里应该是这样:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9Vc3FGYy5wbmcifQ==” alt =“应该如何”>

php excel csv
1个回答
0
投票

似乎fputcsv使用分号作为默认定界符。您可以将所需的定界符作为第三个参数传递给fputcsv

$data = array(
    'aaa,bbb,ccc,dddd',
    '123,456,789',
    '"aaa","bbb"'
);
$fp = fopen('test.csv', 'w');
foreach ( $data as $line ) {
    $val = explode(",", $line);
    fputcsv($fp, $val, ',');
}
fclose($fp);
© www.soinside.com 2019 - 2024. All rights reserved.