使用 php 合并 Excel 文件

Posted

技术标签:

【中文标题】使用 php 合并 Excel 文件【英文标题】:Merge Excel files using php 【发布时间】:2012-07-17 18:14:35 【问题描述】:

我有两个 Excel 文件,每个文件都有一个工作表。我想获取两个 excel 文件并创建一个带有两个工作表的单个 excel 文件。我想用 php 做到这一点。谁能指出我正确的方向?

【问题讨论】:

唯一想到的是PHPExcel。不确定它是否可以做你想做的事。 看看***.com/questions/7286223/… @Rocket - PHPExcel 非常有能力做到这一点 @MarkBaker:很酷,从未真正使用过它,但我认为这是朝着正确方向迈出的一步。 【参考方案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);

【讨论】:

但它不合并图表,尝试使用图表和图表的文件,它将删除它 这个库现在被弃用了:github.com/PHPOffice/PhpSpreadsheet

以上是关于使用 php 合并 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将多个excel文件合并?

php 之 excel导出导入合并

怎么把几个Excel合并成一个文件?

多个EXCEL的CSV文件合并时会把每个文件的表头重复合并到结果文件里,能否让合并结果只有一个表头呢?

excel多个文件合并一个文件怎么做?

如何使用python合并多个excel文件