У меня есть два файла Excel, каждый с одним листом. Я хочу взять два файла Excel и создать один файл Excel с двумя листами. Я бы хотел сделать это с помощью PHP. Может кто-то указать мне верное направление?

3
broncofan7 18 Июл 2012 в 20:22
2
На ум приходит только PHPExcel. Не уверен, что он может делать то, что вы хотите.
 – 
Rocket Hazmat
18 Июл 2012 в 20:24
Взгляните на stackoverflow.com/questions/7286223/…
 – 
Scott Brown
18 Июл 2012 в 20:24
1
- PHPExcel вполне на это способен
 – 
Mark Baker
18 Июл 2012 в 20:25
@MarkBaker: Круто, никогда не использовал его, но я подумал, что это шаг в правильном направлении.
 – 
Rocket Hazmat
18 Июл 2012 в 20:27

1 ответ

Лучший ответ

Использование PHPExcel

$inputFileType1 = 'Excel2007';
$inputFileName1 = 'inputData1.xlsx';
$inputFileType2 = 'Excel5';
$inputFileName2 = 'inputData2.xls';
$outputFileType = 'Excel5';
$outputFileName = 'outputData.xls';

// Load the first workbook (an xlsx file)
$objPHPExcelReader1 = PHPExcel_IOFactory::createReader($inputFileType1);
$objPHPExcel1 = $objPHPExcelReader1->load($inputFileName1);

// Load the second workbook (an xls file)
$objPHPExcelReader2 = PHPExcel_IOFactory::createReader($inputFileType2);
$objPHPExcel2 = $objPHPExcelReader2->load($inputFileName2);

// Merge the second workbook into the first
$objPHPExcel2->getActiveSheet()->setTitle('Unique worksheet name');
$objPHPExcel1->addExternalSheet($objPHPExcel2->getActiveSheet());

// Save the merged workbook under a new name (could save under the original name)
// as an xls file
$objPHPExcelWriter = PHPExcel_IOFactory::createWriter($objPHPExcel1,$outputFileType);
$objPHPExcelWriter->save($outputFileName);
5
Mark Baker 18 Июл 2012 в 20:37
Но он не объединяет диаграмму, попробуйте файл с диаграммой и графиками, и он удалит это
 – 
Sooraz
14 Ноя 2017 в 15:24
Эта библиотека устарела, теперь используйте это: github.com/PHPOffice/PhpSpreadsheet
 – 
Hemant Kumar
14 Дек 2018 в 08:05