PHP 生成 Word 工具 MDword 1.1.3 正式发布,支持合并表格单元格


MDword 是 PHP 生成 word 的另一工具。

更新日志

  • 合并表格单元格
  • 已知 bug 修复

项目介绍

主要用途:动态生成 word
优势:生成 word 只需关注动态数据及逻辑,无需关注式样的调整(式样可以借助 office word 调整母版即可)

与 PHPWord 的爱恨情仇

  • 共同点

  1. PHP 编写的库(资源包)
  2. 用于生成 office word
  • 不同点

  1. PHPWord 专注于一个元素一个元素的写入,而 MDword 则是专注于在母版的基础上修改,功能更强大,编码效率更高
  2. 修改文字式样,增加封面,修改页眉页脚 MDword 只需用 word 编辑软件调整母版,而 PHPWord 需要繁琐的去调整每个元素
  3. 可以自动生成目录

教程

  • 安装

//方法一
composer require mkdreams/mdword
//方法二,手动引入自动加载类
require_once('Autoloader.php');
  • 给母版 “temple.docx” 添加批注

image

  • 调用方法(更多更丰富的调用方式,参考案例:tests\samples\simple for readme,例如:目录、序号等)

//新建类 加载 母版
$TemplateProcessor = new WordProcessor();
$template = 'temple.docx';
$TemplateProcessor->load($template);

//赋值
$TemplateProcessor->setValue('value', 'r-value');

//克隆并复制
$TemplateProcessor->clones('people', 3);

$TemplateProcessor->setValue('name#0', 'colin0');
$TemplateProcessor->setValue('name#1', [
['text'=>'colin1','style'=>'style','type'=>MDWORD_TEXT],
['text'=>1,'type'=>MDWORD_BREAK],
['text'=>'86','style'=>'style','type'=>MDWORD_TEXT]
]);
$TemplateProcessor->setValue('name#2', 'colin2');

$TemplateProcessor->setValue('sex#1', 'woman');

$TemplateProcessor->setValue('age#0', '280');
$TemplateProcessor->setValue('age#1', '281');
$TemplateProcessor->setValue('age#2', '282');

//图片复制
$TemplateProcessor->setImageValue('image', dirname(__FILE__).'/logo.jpg');

//删除某行
$TemplateProcessor->deleteP('style');

//保存
$rtemplate = __DIR__.'/r-temple.docx';
$TemplateProcessor->saveAs($rtemplate);
  • 结果

image

  • 动图

image

性能情况(统计脚本)

测试项 用时 (S)
1 页母版赋值 100 次 0.04
1 页母版赋值 500 次 0.16
1 页母版赋值 1000 次 0.33
1 页母版赋值 10000 次 7.80
1750 页母版赋值 100 次 4.61
1750 页母版赋值 500 次 4.94
1750 页母版赋值 1000 次 5.43
1750 页母版赋值 10000 次 17.39

内存使用情况(统计脚本)

连续运行第几次 累积内存使用情况 备注
1 0.050590515136719 M 首次需要加载 PHP 类
2 0.050949096679688 M  
3 0.050949096679688 M  
4 0.050949096679688 M  
5 0.050949096679688 M  
6 0.050949096679688 M  
7 0.050949096679688 M  
8 0.050949096679688 M  

更多案例

  • 简单的综合案例
  • 带式样的文字
  • 添加图片
  • 克隆
  • 多种方式设置区块,解决无法添加批注问题
  • PHPWORD 写入到区块
  • 目录嵌入到表格
  • 合并表格单元格

相關推薦

2023-10-11

MDword 是 PHP 生成 word 的另一工具。 新特性 / Bug 修复: 根据md5值替换图片维持比例不变。 MDWORD_LINK支持style参数。 获取media列表。(母版word中的图片或者文件) 项目介绍 主要用途:动态生成 word 优势:生成 word 只需关

2023-04-11

写入器流式按行赋值时,对于值为 nil 的单元格将会跳过生成该单元格,相关 issue #756 获取超链接 GetCellHyperLink 函数支持读取合并单元格中的超链接 添加了新的导出类型 ChartType 以表示图表类型枚举 兼容性提

2023-01-10

323 流式按行赋值时,若行号未递增将返回错误,以避免生成的工作簿损坏,相关 issue #1139 按行流式写入工作表时,支持通过指定 RowOpts 为单元格设置样式,相关 issue #1354 支持流式设置窗格,相关 issue #1047 支持流

2024-09-25

及 ai 弹出菜单的位置 优化: 创建 npm-publish.yml 用于自动发布的功能 优化: 上传部分注释代码 修复: 修复 GiteeAiModel 在某些情况下解析错误的问题 修复: 图片和表格的浮动菜单,点击时会处于 “选中” 状态的问题 修复: Abst

2024-10-16

bsp;xuri.me/excelize/zh-hans 版本说明 2024 年 10 月 15 日,社区正式发布了 2.9.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要,此版本中最显著的变化包括: 兼容性提示 将数

2023-07-05

复制为 Markdown 功能以适配新语法 优化 Typora 编辑时表格工具栏、行/列数编辑的样式 优化键盘操作的处理逻辑 优化各种排版内容的间距细节 优化题注样式,以及编辑时样式 优化 Dark 模式下 Mermaid 图表样式 彩虹引用内

2024-10-17

AIEditor.dev AI 驱动的开源富文本编辑器 开箱即用、支持所有前端框架、支持 Markdown 书写模式 什么是 AIEditor AiEditor 是一个面向 AI 的下一代富文本编辑器,她基于 Web Component,因此支持 Layui、Vue、React、Angular 等几乎任何前端

2024-08-13

AIEditor.dev AI 驱动的开源富文本编辑器 开箱即用、支持所有前端框架、支持 Markdown 书写模式 什么是 AIEditor AiEditor 是一个面向 AI 的下一代富文本编辑器,她基于 Web Component,因此支持 Layui、Vue、React、Angular 等几乎任何前

2024-08-29

AIEditor.dev AI 驱动的开源富文本编辑器 开箱即用、支持所有前端框架、支持 Markdown 书写模式 什么是 AIEditor AiEditor 是一个面向 AI 的下一代富文本编辑器,她基于 Web Component,因此支持 Layui、Vue、React、Angular 等几乎任何前端

2024-10-19

AIEditor.dev AI 驱动的开源富文本编辑器 开箱即用、支持所有前端框架、支持 Markdown 书写模式 什么是 AIEditor AiEditor 是一个面向 AI 的下一代富文本编辑器,她基于 Web Component,因此支持 Layui、Vue、React、Angular 等几乎任何前端

2024-09-30

AIEditor.dev AI 驱动的开源富文本编辑器 开箱即用、支持所有前端框架、支持 Markdown 书写模式 什么是 AIEditor AiEditor 是一个面向 AI 的下一代富文本编辑器,她基于 Web Component,因此支持 Layui、Vue、React、Angular 等几乎任何前端

2023-03-06

表格的乘法语法 ( #8658 )。 Docx 阅读器:解析 LibreOffice 生成的文件中的图像替代文本。LibreOffice 标记图像与 Word 略有不同;此更改使解析在查找图像描述(替代文本)时考虑到该差异。 DocBook 阅读器: DocBook 阅读器: 修

2022-11-16

个模块均可单独使用,也可以结合使用,帮助开发者快速生成pdf文档。 本次更新内容如下: 新特性: 【fop模块】新增XEasyPdfTemplatePageRectangle类(页面尺寸) 【fop模块】新增freemarker数据源(模板引擎) 【fop模块】新增jte

2023-10-19

NLYOFFICE 团队一直记得这一点,一直正在开发原生 PDF 编辑工具,方便万千用户。现在,ONLYOFFICE 团队推出了首版 PDF 编辑器,支持注释(包括文本突出显示、下划线和删除线)、表单填写、评论和绘图等功能。 在下一个版本中,