2016-01-27 1 views
0

Mission: мне нужно добавить 2 .csv файлов для разделения листов Проблема: Второй импорт удаляет второй созданный лист и помещает информацию на первом листеPHPExcel proble с импортом 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").''); 

Как может я решите эту проблему?

ответ

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 имеет как рабочие листы, и вы можете сохранить этот

Смежные вопросы