Bla*_*ack 2 php csv phpexcel phpexcelreader yii2-advanced-app
我正在尝试使用 PHPExcel 库导入 CSV 文件。我的 CSV 文件使用\t或tab作为分隔符。
因此,当我尝试在屏幕上打印结果时,每个逗号都被视为新单元格,就像这样

但实际上我需要将每一行导出为一行数据,并为每个制表符分隔符用引号( “ )分隔,就像这个一样

这是我在控制器中用于读取和写入数据的代码:
$worksheet = $objPHPExcelDetail->getActiveSheet();
foreach ($worksheet->getRowIterator() as $row) {
echo '<pre>';
echo 'Row number: ' . $row->getRowIndex() . "\r\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
foreach ($cellIterator as $cell) {
if (!is_null($cell)) {
echo 'Cell: ' . $cell->getCoordinate() . ' - ' . $cell->getValue() . "\r\n";
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何读取带\t分隔符的 CSV 文件,并将每一行设置为一行?
这是您需要考虑的加载文件的代码。
查看PHPExcel 文档中 CSV 阅读器可用的方法...您会发现有一个setDelimiter()方法,允许您说使用 atab而不是,。
$objReader = PHPExcel_IOFactory::createReader('CSV')
->setDelimiter("\t");
$objPHPExcel = $objReader->load($myFileName);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6618 次 |
| 最近记录: |