.net根据模板对Word用Aspose Word操作

命名空间:(记得引入ASPJPEGLib.dll)

usingAspose.Words;

1.创建word模版,使用MergeFeild绑定数据

新建一个Word文档,命名为Template.doc

 打开Template.doc必须在菜单的"插入→文档部件→域”找到MergeField并输入相应的域名

 

2.新建cs使用数组提供数据源

  1. stringtempPath = Server.MapPath("~/Docs/Temp/Template.doc");
  2. stringoutputPath = Server.MapPath("~/Docs/Output/Template.doc");
  3. //载入模板
  4. var doc = new Document(tempPath);
  5. //提供数据源
  6. String[] fieldNames = new String[] {"UserName", "Gender", "BirthDay", "Address"};
  7. Object[] fieldValues = new Object[] {"张三", "男", "1988-09-02", "陕西咸阳"};
  8. //合并模版,相当于页面的渲染
  9. doc.MailMerge.Execute(fieldNames, fieldValues);
  10. //保存合并后的文档
  11. doc.Save(outputPath);
  12. //在WebForm中,保存文档到流中,使用Response.?BinaryWrite输出该文件
  13. vardocStream = newMemoryStream();
  14. doc.Save(docStream, SaveOptions.CreateSaveOptions(SaveFormat.Doc));
  15. Response.ContentType = "application/msword";
  16. Response.AddHeader("content-disposition", "attachment; filename=Template.doc");
  17. Response.BinaryWrite(docStream.ToArray());
  18. Response.End();
  19. //在MVC中采用,保存文档到流中,使用base.File输出该文件
  20. vardocStream = newMemoryStream();
  21. doc.Save(docStream, SaveOptions.CreateSaveOptions(SaveFormat.Doc));
  22. returnbase.File(docStream.ToArray(), "application/msword","Template.doc");

相关推荐:

如何利用Python Django的Include标签拆分大型模板文件?

{%include%}能拆分模板但需注意变量作用域、路径规则(仅从templates根目录解析)和循环中重复渲染的性能问题,非万能解法。 直接说结论:用{%include%}能拆分模板,但必须注意变量作用域、路径解析规则和循环内重复渲染的性能陷阱——它不是“无脑切文件”的万能解药。 include标...

如何在Python中对NumPy数组进行转置与轴换位操作?

NumPy数组转置与轴换位本质相同但接口语义不同:.T仅适用于二维数组的简单转置,三维及以上会完全反转轴序;精确控制需用np.transpose()、np.swapaxes()或np.moveaxis()。 NumPy数组的转置和轴换位本质是同一类操作,但接口不同、语义侧重不同:用.T或np.tra...

如何修复Python Django模板引擎中存在的XSS跨站脚本风险?

默认启用的模板自动转义仅防HTML文本节点XSS,对href、onclick等属性上下文无效;必须按上下文选用urlencode、escapejs等过滤器;|safe仅限可控、未读写、经bleach清洗的内容;禁用autoescape极危险;AJAX渲染需前端DOMPurify兜底。 默认启用的模板...

怎样用Python将Word文档转换为PDF_利用comtypes或pypandoc

comtypes是Windows下调用Word最可靠的方案,因其直接启动本地Word进程、原生渲染、完美保留复杂格式且不依赖外部工具链;pypandoc跨平台但易受Pandoc/LaTeX环境限制,格式保真度低。 Windows上用comtypes调用Word应用本身最可靠;跨平台或批量处理优先选p...

如何优化Python Django模板渲染性能_开启Cached Template Loader缓存

cached.Loader不生效通常是配置位置错误,它必须作为包装器嵌套配置,将其他loader置于其参数列表中,而非与之并列;其缓存位于进程内存,依赖文件修改时间,重启服务才能刷新,且与Django的CACHES设置无关。 cached.Loader不生效,八成是配置写错了位置,不是缓存没起作用,...