create account

一种模板生成 Word 文档的方法 by sunsi

View this thread on: hive.blogpeakd.comecency.com
· @sunsi ·
一种模板生成 Word 文档的方法
你用什么方案生成Word文档?
Word 文档应用广泛,在系统中生成 Word 文档也是一种常见的需求。通常的方案有以下几种:
1. 简单字符串或者正则表达式替换
2. 硬编码生成文档内容
3. 帆软等报表工具

上面几种方法简单有效、主要有以下优缺点:
1. 优点:简单易于实现;缺点:不适合含动态内容的文档(如动态表格);
2. 优点:灵活,代码自己控制;缺点;不适合内容较多的文档,不适合内容经常调整的文档;
3. 优点:模式化,易于修改维护;缺点:不适合对格式要求比较严格的文档(例如帆软并不能严格的和 Word 格式一一对应)。


那么,有没有一种方法能扬长避短呢?今天我们就要来介绍一种通过模版生成 Word (docx)文档的方法。完成下面这样一个简单文档的生成:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200103204332883.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9zdW5zaS5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70)
通过学习,我们将掌握通过模版引擎处理 Word 文档,实现如下功能:
1. 数据插入
2. 循环数据处理
3. 表格处理
4. 插入图片
5. 饼图等图形绘制

欢迎大家一起来学习:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200103204541170.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9zdW5zaS5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70)
[介绍一种通过模版生成 Word 文档的方法](https://gitbook.cn/gitchat/activity/5e0efb403ac7de649e279984)
👍  , , , ,
properties (23)
authorsunsi
permlinkword
categorycn
json_metadata{"tags":["cn"],"image":["https://img-blog.csdnimg.cn/20200103204332883.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9zdW5zaS5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70","https://img-blog.csdnimg.cn/20200103204541170.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9zdW5zaS5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70"],"links":["https://gitbook.cn/gitchat/activity/5e0efb403ac7de649e279984"],"app":"steemit/0.1","format":"markdown"}
created2020-01-07 05:14:36
last_update2020-01-07 05:14:36
depth0
children1
last_payout2020-01-14 05:14:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length912
author_reputation3,554,929,516
root_title"一种模板生成 Word 文档的方法"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,123,003
net_rshares12,235,230,382
author_curate_reward""
vote details (5)
@cn-hello ·
@sunsi 你好,欢迎来到精彩的Steem世界~~~ 🙂

Steem和其他社区有很多不同,新人在早期经常会面临**各种困难**,例如:

1. 在Steem上活动是需要**能量**的,而新人能量很少,发了一段时间帖子没能量了就无法继续发帖。[点击此处](https://steemd.com/@sunsi)查看Resource Credits(活动能量):你目前总共还能发表 **18** 篇文章或者回帖,每天恢复的20%能量可支持发表 **3.7** 篇文章或者回帖,请控制好发帖节奏;
1. Steem非常注重**版权和原创**。很多新人刚加入时从其他网站转载别人的文章发表,马上就会被**警告、惩罚甚至加入黑名单**;
1. Steem的规则和玩法很丰富、但也比较复杂,新人经常有很多**疑问**希望解答、有很多**知识**需要学习;
1. Steem是个**社交**平台,初期没有朋友和团队支持,举目无亲、无人搭理,很难生存;
1. Steem是个**应用**平台,不仅仅是写作,**内涵多姿多彩**,如绘画、摄影、游戏、编程等等,但找到自己的定位和方向需要一些时间探索。

为了**解决这些问题**,我们建议:

1. 加入**新手村** @team-cn 参与各种活动与交流,和众多的多才多艺的小伙伴们一起玩耍,加入微信群便于提问和互动。想要加入新手村,可以在 @team-cn 的帖子下留言,或者联系村长 @ericet(微信账号:ericet);
1. 阅读[简明的新手攻略](https://busy.org/@ericet/db528bhdn3),了解新手的基本玩法;如有时间,可以进一步阅读Steem中文社区联合创作的[《Steem指南》](https://steem-guides.github.io/steemh) ([PDF版](https://steem-guides.github.io/steemh/steemh.pdf) / [EPUB版](https://steem-guides.github.io/steemh/steemh.epub)) ,关注 @steem-guides 《Steem指南》,详细了解Steem中的规则、攻略、社交和人物。

最后,再次欢迎你来到Steem中文社区大家庭🎉 ,祝你在Steem的旅程愉快!!!

有任何问题,可以咨询 @team-cn 或 @cn-hello

<div message_id="welcome"></div>
properties (22)
authorcn-hello
permlinkre-word-20200108t160606z
categorycn
json_metadata"{"app": "beem/0.21.1"}"
created2020-01-08 16:06:06
last_update2020-01-08 16:06:06
depth1
children0
last_payout2020-01-15 16:06:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,056
author_reputation3,098,438,679,661
root_title"一种模板生成 Word 文档的方法"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id94,189,970
net_rshares0