当前位置: 首页 > 面试题库 >

如何从PHP生成具有多个工作表的Excel文档?

李和昶
2023-03-14
问题内容

我想从PHP生成MS Excel文件。我知道一个人可以做这样的事情:

header ( "Content-type: application/vnd.ms-excel" );
header ( "Content-Disposition: attachment; filename=foo_bar.xls" );

但是它将生成一个只有一张图纸的文件。我要生成的文件有多个工作表。我怎样才能做到这一点?也许有第三方图书馆,但我还没有发现太多。


问题答案:

尝试查看PHPExcel。这是一个简单的示例,该示例创建一个包含两页的Excel文件:

<?php
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';

// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// Create a first sheet, representing sales data
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Something');

// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Name of Sheet 1');

// Create a new worksheet, after the default sheet
$objPHPExcel->createSheet();

// Add some data to the second sheet, resembling some different data types
$objPHPExcel->setActiveSheetIndex(1);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'More data');

// Rename 2nd sheet
$objPHPExcel->getActiveSheet()->setTitle('Second sheet');

// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="name_of_file.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');


 类似资料:
  • 我有一些不同列的excel表格,如下所示: 表A:Col1 Col2 Col3 表B: Col2 Col4 Col5 表C: Col1 Col6 Col7 我的最终表格应该是: 最终表格:Col1 Col2 Col3 Col4 Col5 Col6 Col7 如果没有特定列的详细信息,则应保留为空。我一次只成功地合并了两个表,但我想将所有表合并在一起。 这是合并两张图纸的代码: 这是我编写的用于合并

  • 我想分别使用python将多个excel文件与多个工作表合并。我不想丢失工作表中的任何格式。它应该复制所有工作表,只创建一个excel文件。 我只能合并第一张,而且所有的格式都丢失了。 这是我的代码:

  • 我知道如何复制工作表,但这将导致多个工作表。我需要的是一个输出工作表,一个接一个地包含所有的工作表。 目前我正在做的是将每个工作表导出为< code>DataTable,然后逐个导入: 但这样,我就失去了单元格样式和文本格式 有没有办法用保留样式?

  • 我在Android Studio中使用以下说明生成多个APK: 问题是:如何为每个不同的APK分配不同的密钥库?我在官方指南上没有找到任何说明...

  • 我有一个由几张纸组成的excel文件。我需要分别将它们作为单独的数据帧加载。与pd类似的功能是什么。对于此类任务,请阅读“\u csv”(“”)? 附注:由于大小,我不能在excel中复制和粘贴单独的工作表

  • 我有30张单独的工作表,需要合并成一张有多个选项卡的工作表。我可以使用下面的脚本来完成这项工作,但每次都会创建一个新的工作表。当30张单独的工作表中的一张或全部更新时,我只希望这个脚本更新或重写以前创建的“主工作表”。 我正在寻找一个表,其中包含从每个地区的标签。这将允许我与单独更新的所有信息共享一个主控表。