POI 对word2007操作

从官网下载POI包,将所有的jar导入到项目中(具体使用根据项目而定,此处为了省略丢包查找问题)。

读取word2007文件,并对word2007的表格操作方式。

    OPCPackage  pkg = null;
        try {
             pkg = POIXMLDocument.openPackage("F:\\word\\a.docx");
            XWPFDocument doc = new XWPFDocument(pkg);
            List<XWPFTable> tables = doc.getTables();
            
            List<XWPFTableCell> cells;
            for(XWPFTable table : tables) {
                XWPFTableRow row = table.getRow(1);
                    cells = row.getTableCells();
                    for(XWPFTableCell cell : cells) {
                        this.setCell(text, cell);
                    }
            }

对word操作主要用到的是XWPFDocument类,这个类可以获取word2007的所有表格和段落。

如果需要操作word2007字体或者别的样式,需要对相应的段落进行操作。

由于POI大部分是对word2003的操作,word2007较少,所以只能通过研究word2007和POI源码找到实现的方法。

对于研究word2007而言,可以将word2007的后缀(.docx)改成.zip,然后将其解压,可以获得word2007的xml存储方式。word/document.xml是word的正文,存储了段落和表格,word/styles.xml是word的格式(如正文),通过修改这部分内容可以实现修改word样式。

建议在eclipse中安装jad(http://www.cnblogs.com/visoncheng/p/3360228.html),在找不到方法时,可以通过阅读源码,找到相应的方法。本人一般的做法是读word2007的xml,根据xml去猜调用什么API,在找不到的情况下,读读源码,也可以提供一种思路。

 

实践得到的一些东西:

XWPFDocument getBodyElements 可以获得word/document.xml下所有内容,可以操作段落和表格。

XWPFParagraph createRun可以创建一个段落。

XWPFRun 可以修改段落部分文字样式。

word/styles.xml 的styleId= ‘a'的样式,估计是正文的样式,但是不清楚的是修改这个样式的字体会修改到标题的字体。

http://pan.baidu.com/share/link?shareid=2567928213&uk=1144409864 是研究时用到的代码

转载于:https://www.cnblogs.com/visoncheng/p/3502806.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值