zoukankan      html  css  js  c++  java
  • [原创]Java给word中的table赋值

    一、准备工作:

      下载PageOffice for  Java:http://www.zhuozhengsoft.com/dowm/

    二、 实现方法:

      要调用PageOffice操作Word中的table,必须借助数据区域(DataRegion)实现的(原因是word中的表格只有index,没有name),要求数据区域完整的包含了整个Table的内容,这样才可以通过数据区域控制和操作table。而table的插入,既可以在Word模版中书签处手动插入:工具栏“插入”→“表格”,亦可以在程序中通过数据区域动态添加。

      如果不明白“数据区域”是什么,访问:http://www.zhuozhengsoft.com/PageOffice/course/2017/0719/276.html

      1. 编辑word模板。例如:word文档中有这样一个人员信息表,想要在这个人员信息表中填充数据,则必须先将整个成绩表的table插入到一个“书签”中:PO_regTable。插入书签的时候一定要选择整个table。


      

      2. 编写代码填充table

        PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
        poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); 
        //操作table
        WordDocument doc = new WordDocument();
        DataRegion dataRegion = doc.openDataRegion("PO_regTable");
        //打开table,openTable(index)方法中的index代表当前书签中table位置的索引,从1开始
        Table table = dataRegion.openTable(1);
        //给table中的单元格赋值, openCellRC(int,int)中的参数分别代表第几行、第几列,从1开始
        table.openCellRC(3, 1).setValue("A公司");
        table.openCellRC(3, 2).setValue("开发部");
        table.openCellRC(3, 3).setValue("李清");
        //插入一行,insertRowAfter方法中的参数代表在哪个单元格下面插入一个空行
        table.insertRowAfter(table.openCellRC(3, 3));
        table.openCellRC(4, 1).setValue("B公司");
        table.openCellRC(4, 2).setValue("销售部");
        table.openCellRC(4, 3).setValue("张三");
        
        poCtrl1.setWriter(doc);
        //打开文件
        poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "用户名");

      3. 生成文件的效果

      

    三、 示例代码

      解压下载的PageOffice for java 开发包,拷贝Samples4文件夹到Tomcat的Webapps目录下,访问:http://localhost:8080/Samples4/index.html

      参考Samples4中的:一、17、给Word文档中Table赋值的简单示例 (WordSetTable)。

  • 相关阅读:
    scp命令
    js代码片段
    js创建request对象与ajax请求
    多个action组成一个文件
    ng-option选项禁用
    IE日期
    ui-sortable
    P5多语言默认语言不生效BUG的解决办法
    防止多次点击提交按钮造成数据多次提交
    c#根据ip获取地理位置
  • 原文地址:https://www.cnblogs.com/pageoffice/p/8986373.html
Copyright © 2011-2022 走看看