PHPExcel-通过迭代创建多个工作表 [英] PHPExcel - creating multiple sheets by iteration
本文介绍了PHPExcel-通过迭代创建多个工作表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试通过phpexcel中的迭代创建多个工作表:
I'm trying to create multiple sheets by iteration in phpexcel:
$i=0;
while ($i < 10) {
// Add new sheet
$objWorkSheet = $objPHPExcel->createSheet();
// Attach the newly-cloned sheet to the $objPHPExcel workbook
$objPHPExcel->addSheet($objWorkSheet);
// Add some data
$objPHPExcel->setActiveSheetIndex($i);
$sheet = $objPHPExcel->getActiveSheet();
$sheet->setCellValue('A1', 'Hello'.$i)
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello')
->setCellValue('D2', 'world!');
// Rename sheet
$sheet->setTitle($i);
$i++;
}
不幸的是,这不起作用.我只得到了该迭代的一些工作表,这些工作表中充满了数据并被重命名,其中约有一半是空的.
Unfortunately this doesn't work. I only get some sheets of this iteration filled with data and renamed and about the half are empty.
这就是结果(工作表标题):
So this is the result (sheet titles):
0、2、4、6、8、9和5张空白纸
0, 2, 4, 6, 8, 9, and 5 empty sheets
我不知道为什么结果中只有偶数(和第9页)是正确的.
I can't figure out why only even numbered (and sheet 9) are correct in the result.
推荐答案
您不需要调用addSheet()
方法.创建工作表后,它已经添加到excel中.在这里,我修复了一些代码:
You dont need call addSheet()
method. After creating sheet, it already add to excel. Here i fixed some codes:
//First sheet
$sheet = $objPHPExcel->getActiveSheet();
//Start adding next sheets
$i=0;
while ($i < 10) {
// Add new sheet
$objWorkSheet = $objPHPExcel->createSheet($i); //Setting index when creating
//Write cells
$objWorkSheet->setCellValue('A1', 'Hello'.$i)
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello')
->setCellValue('D2', 'world!');
// Rename sheet
$objWorkSheet->setTitle("$i");
$i++;
}
这篇关于PHPExcel-通过迭代创建多个工作表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文