【问题标题】:Creating Multiple Excel Sheets using Pure PHP - Possible?使用纯 PHP 创建多个 Excel 工作表 - 可能吗?
【发布时间】:2014-09-15 13:54:50
【问题描述】:

目前我将数据存储在一个包含 HTML 表的变量中。我从How to format excel file with styles, fonts, colors, tables etc with pure PHP?得到这个想法

$table = '<table>';
$table .= '<tr>';
$table .= '<td>1st row, 1st cell</td>';
$table .= '<td>1st row, 2nd cell</td>';
$table .= '</tr>';
$table .= '<tr>';
$table .= '<td>2nd row, 1st cell</td>';
$table .= '<td>2nd row, 2nd cell</td>';
$table .= '</tr>';
$table .= '</table>';
downloadAsExcel($table, 'somefilename');

function downloadAsExcel($html, $filename)
{
    header("Content-Type: application/excel");
    header("Content-Disposition: attachment; filename=".ucwords($filename)."-Data.xls");
    header("Pragma: no-cache");
    header("Expires: 0");
    echo $html
}

这工作正常,输出符合预期。但是,我想知道是否可以使用类似的方法在一个 Excel 文件中创建多个工作表。

如果我能做到这一点,那就太好了,因为我不想使用图书馆来完成这项工作。我查看了PHPExcelExcelReaderDocRaptor 等,因此我正在寻找不使用此类库的答案(如果可能的话)。

更新:差点忘了提 - 我也遇到了这个http://webcheatsheet.com/php/create_word_excel_csv_files_with_php.php#excelcom,但这需要我在服务器上安装 MS Excel,我不能,因为它是一个共享主机帐户。

PS:打开通过上述方法创建的 Excel 文件时出现的警告对话框我很好。

【问题讨论】:

  • 完全有可能,有几十个库可以帮助你做到这一点......但是 HTML !== XLS 和 MS Excel 的 HTML 导入只允许一个工作表......获取多个工作表, 你需要创建一个real xls 或 xlsx 文件
  • 那么你为什么不使用这些库之一呢?
  • 附言。 application/excel 不是有效的 mime 类型:application/vnd.ms-excel 用于 xls 文件,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 用于 xlsx 文件
  • 是的,我意识到这一点,但我的首要任务是在一个文件中包含多个工作表。关于不使用库,我想使用我自己的代码创建应用程序。我不想依赖外部因素。
  • Lol Mark Ba​​ker 你总是第一个回答excel 标记的问题...你有它在一些RSS 提要或什么的吗? :)

标签: php excel


【解决方案1】:

您可以从头开始创建文件 - 您应该知道文件格式,并且从 Office 2007 开始,此标准是开放的。

您可以参考http://en.wikipedia.org/wiki/Office_Open_XML 开始使用!

【解决方案2】:

你为什么不能参加内置课程PHPExcel

(i.e) $objPHPExcel = new PHPExcel()

请通过以下链接查看,

Creating Multiple Excel Sheets Using PHP

【讨论】:

  • 那你就可以去做了。如果不能,请告诉我原因。
  • 只是我个人的选择——不想依赖第三方库。
  • 没关系。然后你必须自己创建,因为你这样做可能需要更多时间来创建代码和执行。如果你使用 inbuit one 那么执行时间只会更少。
  • inbuilt 类是什么意思? PHPExcel 是PHPOffice 的一部分,它只是普通的 PHP 代码,与您用 PHP 编写的任何其他普通代码相比没有任何优势。
猜你喜欢
  • 1970-01-01
  • 2015-04-27
  • 2015-09-19
  • 1970-01-01
  • 1970-01-01
  • 2016-08-13
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
相关资源
最近更新 更多