实际工作中,往往有这样的需求,需要导出word,还有各种各样的样式,于是有了word模板导出。
实现以下几个需求:
1、表单导出
2、表格导出
3、表单表格混合导出
4、实际用例测试
解决方案:
实现是基于NET Core 2.1 ,搜索了各个开源项目最终基于DocX这个开源库,当初实现时发现DocX作者并没有发布Core的版本,最后在Nuget搜索到DocXCore这个包,但是没有GitHub搜索到这个库。
上面还遇到一个坑爹的问题,系统在win运行没问题,一部署到centos导出就挂了,根据错误研究发现里面居然要获取当前登录的用户信息,win系统没有问题,centos报错,于是去掉获取系统用户这块,居然没有源码。
一怒之下,反编译了DocXCore包,移除了获取登录系统代码,最终win和centos都导出正常。
奉上源码地址:https://github.com/deeround/DocXCore
1、表单导出
模板
代码
最终效果
2、表格导出
模板
代码
最终效果
3、表单表格混合导出
模板
代码
最终效果
4、实例
请看源码
简单说明:
采用字符串模板方式替换形式,之前也用过其他方式设置参数,多多少少会遇到些坑,还不如自定义字符串灵活。
#:普通表单关键字使用#包裹
$:表格关键字使用$包裹,里面使用.分割
源码下载:
DocXCore源码地址:https://github.com/deeround/DocXCore
上面demo源码:https://files.cnblogs.com/files/deeround/WordExportDemo.zip
原文链接:https://www.cnblogs.com/deeround/p/11478610.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com