使命:我需要添加2个.csv文件来分隔工作表 问题:第二次导入会删除第二张创建的工作表并将信息放在第一张工作表
上$inputFileType = 'CSV';
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setDelimiter(';');
$objPHPExcel = $objReader->load('fail1.csv');
$objPHPExcel->getActiveSheet()->setTitle('laoseis');
//teine leht
$objPHPExcel->createSheet();
$objPHPExcel->setActiveSheetIndex(1);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setDelimiter(';');
$objPHPExcel->setActiveSheetIndex(1);
$objPHPExcel = $objReader->load('fail2.csv');
$date = new DateTime($_GET['startDate']);
$objPHPExcel->getActiveSheet()->setTitle('Müük W'.$date->format("W").'');
我该如何解决这个问题?
答案 0 :(得分:2)
PHPExcel不会将第二个文件加载到现有PHPExcel对象中的当前工作表中,它会创建一个新的PHPExcel对象并将文件加载到该文件中,因此当您尝试将该文件完全替换为第一个文件时加载第二个。
将每个csv加载到单独的PHPExcel实例,然后将工作表从第二个实例复制到第一个实例。
$objReader1 = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel1 = $objReader1->load('fail1.csv');
$objReader2 = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel2 = $objReader2->load('fail2.csv');
$objPHPExcel2->getActiveSheet()->setTitle('Worksheet 2');
$objPHPExcel1->addExternalSheet($objPHPExcel2->getActiveSheet());
现在$objPHPExcel1
有两个工作表,您可以保存