使用PHPExcel lib导入以制表符分隔的CSV文件
我正在尝试使用phpexcellib导入CSV文件。我的CSV文件有\t或tab作为分隔符 所以当我试图在屏幕上打印结果时,每个逗号都被视为新的单元格,就像这样 但实际上,我需要为每一行导出一行数据,并为每一个制表符分隔符用引号分隔,就像这个一样 这是我在控制器中读取和写入数据的代码:使用PHPExcel lib导入以制表符分隔的CSV文件,php,csv,phpexcel,yii2-advanced-app,phpexcelreader,Php,Csv,Phpexcel,Yii2 Advanced App,Phpexcelreader,我正在尝试使用phpexcellib导入CSV文件。我的CSV文件有\t或tab作为分隔符 所以当我试图在屏幕上打印结果时,每个逗号都被视为新的单元格,就像这样 但实际上,我需要为每一行导出一行数据,并为每一个制表符分隔符用引号分隔,就像这个一样 这是我在控制器中读取和写入数据的代码: $worksheet = $objPHPExcelDetail->getActiveSheet(); foreach ($worksheet->getRowIterator() a
$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";
}
}
}
如何使用分隔符读取CSV文件,并为每行设置一行 您需要考虑的是加载文件的代码
查看CSV阅读器在…中可用的方法。。。。你会发现有一种方法允许你说使用一个标签而不是一个
如果您只需要阅读csv,那么fgetcsv可能会更好。@Maerlyn yah您是对的。我以前用过它,我用PHPExcel for csv,因为我还可以在一个页面中导入Excel文件。它存在于文档中,我已经尝试过了,这是工作。谢谢你的帮助。
$objReader = PHPExcel_IOFactory::createReader('CSV')
->setDelimiter("\t");
$objPHPExcel = $objReader->load($myFileName);