You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

迁移至Genexus 17/18(Java生成器)后如何处理docx文件

GeneXus 17/18(Java生成器)处理DOCX文件替代方案

在GeneXus 15及以后版本中,WordDocument类型已被废弃,针对Java生成器,可通过以下几种方式替代处理DOCX文件:

  • 使用DocxGenerator对象:这是GX17+原生支持的DOCX模板处理工具,可实现模板占位符替换、内容生成与保存。示例代码:

    DocxGenerator docxGenerator = new DocxGenerator();
    docxGenerator.LoadTemplate("templates/contract-template.docx");
    docxGenerator.SetValue("ClientName", "John Doe");
    docxGenerator.SetValue("ContractDate", DateTime.Now());
    docxGenerator.Save("output/final-contract.docx");
    
  • 基于BinaryData与POI封装操作文件流:若需要更精细化的文档解析或修改(如操作段落、表格、样式),可通过BinaryData读取DOCX文件的字节流,借助GX集成的Apache POI封装类进行操作:

    BinaryData docxContent = File.Read("data/source.docx");
    // 通过GX封装的POI工具类,对docxContent对应的文档内容进行增删改查
    
  • 通过Report对象生成DOCX报表:如果需求是生成结构化报表类DOCX文件,直接使用Report对象并指定输出格式为DOCX即可,无需手动处理文档结构:

    Report salesReport = new Report();
    salesReport.OutputFormat = ReportOutputFormat.Docx;
    salesReport.LoadLayout("SalesReportLayout");
    // 绑定报表数据源
    salesReport.Generate();
    

迁移注意事项

  • 原WordDocument的方法需对应替换为上述对象的API,部分复杂逻辑可能需要调整适配新工具的特性。
  • Java生成器下,所有DOCX处理相关类均位于com.genexus.documents包,可直接引用。

内容的提问来源于stack exchange,提问作者Jose Martinez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 19:09:55