PHPexcel CSV主文件

PHPexcel CSV主文件,php,phpexcel,Php,Phpexcel,我想有多个csv的,并将其添加到一个主csv文件。当我在数组中添加一个额外的csv文件时,它会抛出一个异常错误 未捕获异常“exception”,消息为“工作簿已包含名为“worksheet”的工作表”。首先重命名外部工作表。'in 请在下面找到我的代码 include'../Classes/PHPExcel.php'; include'../Classes/PHPExcel/IOFactory.php'; $filenames = array('Sheet1.csv','Sheet2.cs

我想有多个csv的,并将其添加到一个主csv文件。当我在数组中添加一个额外的csv文件时,它会抛出一个异常错误

未捕获异常“exception”,消息为“工作簿已包含名为“worksheet”的工作表”。首先重命名外部工作表。'in

请在下面找到我的代码

include'../Classes/PHPExcel.php';
include'../Classes/PHPExcel/IOFactory.php';

$filenames = array('Sheet1.csv','Sheet2.csv');

$bigExcel = new PHPExcel();
$bigExcel->removeSheetByIndex(0);

$reader = new PHPExcel_Reader_CSV();

foreach ($filenames as $filename) {
$excel = $reader->load($filename);
foreach ($excel->getAllSheets() as $sheet) {
    $bigExcel->addExternalSheet($sheet);
}
foreach ($excel->getNamedRanges() as $namedRange) {
    $bigExcel->addNamedRange($namedRange);
}
}
$writer = new PHPExcel_Writer_CSV($bigExcel);
$writer->save('2007-write.csv');

以下代码存在问题:

foreach ($excel->getAllSheets() as $sheet) {
    $bigExcel->addExternalSheet($sheet);
}
对于文件1,添加名为工作表的工作表,然后对于文件2,尝试添加具有相同名称的工作表

我建议您检查是否已经添加了sheetname,如果已经添加,您可以使用“setActiveSheetIndex”切换到现有的工作表

另一个选项是,如果发现已存在工作表,则将其名称更改为工作表(2)

但既然你称之为CSV,我认为你不能使用工作表。因此,最终它应该全部放在一个工作表中,所以不需要不断添加新的工作表。只需创建一个并将所有数据添加到其中