複数のシートでExcelファイルを作成するためにPHP Excelライブラリを使用しています。 複数のHTMLページコンテンツを複数のシートに読み込む必要があります。 強力なテキストがHTMLからの動的データを含む1枚のシートを正常に実装しました。 2枚目のシートを追加すると、最新のシートが追加された状態でExcelに戻ります。PHPExcel:異なるHTMLファイルから複数のシートを作成
Below is code
<?php
require_once './PHPExcel/Classes/PHPExcel.php';
require_once './PHPExcel/Classes/PHPExcel/IOFactory.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
//Create a first sheet, representing sales data
$objReader = PHPExcel_IOFactory::createReader('HTML');
$objPHPExcel->setActiveSheetIndex(0);
//$objPHPExcel->getActiveSheet()->setCellValue('A1', 'aaaaaaa');
$objPHPExcel= $objReader->load('./report_html/report1.html');
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Sheet1 ');
//----------------------------------------
$objWorkSheet=$objPHPExcel->createSheet(1);
// Add some data to the second sheet, resembling some different data types
$objPHPExcel->setActiveSheetIndex(1);
// Rename 2nd sheet
//$objPHPExcel->getActiveSheet()->setCellValue('A1','bbbbbbb ');
$objPHPExcel= $objReader->load('./report_html/report2.html');
$objPHPExcel->getActiveSheet()->setTitle('sheet2');
//$objWorkSheet->setTitle('Second sheet');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="report.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
?>
ありがとうございました。 addExternalSheetを使用してsheet2のコードを更新しました。 <?php $ objPHPExcel2-> setActiveSheetIndex(0); \t $ objPHPExcel2 = $ objReader-> load( './ report_html/report2.html'); \t $ objWorkSheet = $ objPHPExcel2-> createSheet(0); \t \t \t $ objPHPExcel-> addExternalSheet($ objWorkSheet); \t \t $ objWorkSheet-> setTitle( 'Second sheet'); \t?> シートを作成しますが、データは追加されません – wdwtest
'$ objWorkSheet = $ objPHPExcel2-> createSheet(0);'は '$ objPHPExcel2'に新しい空のシートを作成してからその新しい空のシートを '$ objPHPExcel'に追加してください.....なぜ新しい空のシートを作成していますか?私はあなたが既存のシートをコピーしたいと思った –
ありがとう!私はあなたが言っているwhtを得た..Gr8の助け!!このようなコードを更新しました 'code' $ objPHPExcel2-> setActiveSheetIndex(0); \t $ objPHPExcel2 = $ objReader-> load( './ report_html/report_3CB_24.html'); \t $ objWorkSheet = $ objPHPExcel2-> getActiveSheet() - > setTitle( 'sheet2'); \t \t $ objPHPExcel-> addExternalSheet($ objWorkSheet); これはhtmlで2番目のシートを添付しています。しかし、今ではいくつかのゴミに直面してhtmlからExcelに出てくることもありますか? – wdwtest