使用 PHP 生成 Word 文档使用 HTTP 标头

2022-08-30 22:22:14

您知道使用PHP和没有COM组件生成和文件的方法吗?我试过 ,这会创建docx文件,但这些文件无法打开,因为它们会导致它崩溃。我也试过,但它根本没有生成任何文件。docdocxPHPWordOpenOfficePHPDocx


答案 1

使用 JS 生成 Word 文档:

我创建了一个简单的开源库,它将用值替换标签。

例如,将替换为 。Hi {name}data={name:"John"}Hi John

这里是:https://github.com/edi9999/docxtemplater

演示:https://docxtemplater.com/demo


答案 2

请参阅此处:

http://www.webcheatsheet.com/php/create_word_excel_csv_files_with_php.php

引用文章中最常用的方法:

使用 HTTP 标头

在此方法中,您需要使用Word友好的CSS格式化HTML / PHP页面,并将标头信息添加到PHP脚本中。确保不使用外部样式表,因为所有内容都应位于同一文件中。

因此,系统将提示用户下载文件。此文件不会是100%“原始”Word文档,但它肯定会在MS Word应用程序中打开。您可以将此方法同时用于 Unix 和 Windows 环境。

<?php
  header("Content-type: application/vnd.ms-word");
  header("Content-Disposition: attachment;Filename=document_name.doc");    
  echo "<html>";
  echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\">";
  echo "<body>";
  echo "<b>My first document</b>";
  echo "</body>";
  echo "</html>";
?>

推荐