我需要使用PHPExcel将4个CSV文件聚合到一个Excel工作簿中。
处理单个CSV文件和单电子表格工作簿一切正常。 使用多个CSV,我无法将每个CSV文件分成单独的表格。
如何使用PHPExcel实现此目的?
答案 0 :(得分:4)
在PHPEX的SVN存储库的Documentation / Examples / Readers目录中有一个例子:它的例子#13
include 'PHPExcel/IOFactory.php';
$inputFileType = 'CSV';
$inputFileNames = array('./example1.csv','./example2.csv','./example3.csv','./example4.csv');
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$inputFileName = array_shift($inputFileNames);
$objPHPExcel = $objReader->load($inputFileName);
$objPHPExcel->getActiveSheet()->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME));
foreach($inputFileNames as $sheet => $inputFileName) {
$objReader->setSheetIndex($sheet+1);
$objReader->loadIntoExisting($inputFileName,$objPHPExcel);
$objPHPExcel->getActiveSheet()->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME));
}
$loadedSheetNames = $objPHPExcel->getSheetNames();
foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
$objPHPExcel->setActiveSheetIndexByName($loadedSheetName);
echo $loadedSheetName,PHP_EOL;
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
var_dump($sheetData);
echo PHP_EOL;
}
答案 1 :(得分:0)
您没有明确指出问题所在......
对于多个工作表excel文件,请执行以下操作:
来自docs:
如果您需要在工作簿中创建更多工作表,请按以下步骤操作:
$objWorksheet1 = $objPHPExcel->createSheet();
$objWorksheet1->setTitle('Another sheet');
设置有效工作表:
$objWorksheet1->setActiveSheetIndex($index);