Java操作word里的表格问题,高分在线等!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java操作word里的表格问题,高分在线等!相关的知识,希望对你有一定的参考价值。

现在在用java操作word时,我用的是jacob里的方法,现在需要将项目经验的6行内容复制,在下面粘贴。(因为项目经验可能会有很多个),求大神指教如何能把表格里的各个行复制到指定位置粘贴。或是有其他的好方法?

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.hwpf.usermodel.Table;
import org.apache.poi.hwpf.usermodel.TableCell;
import org.apache.poi.hwpf.usermodel.TableIterator;
import org.apache.poi.hwpf.usermodel.TableRow;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

import org.apache.poi.POIXMLDocument;
import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;

import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class ExportDocImpl

public void testWord()
try
FileInputStream in = new FileInputStream("D:\\\\sinye.doc");//载入文档
POIFSFileSystem pfs = new POIFSFileSystem(in);
HWPFDocument hwpf = new HWPFDocument(pfs);
Range range = hwpf.getRange();//得到文档的读取范围
TableIterator it = new TableIterator(range);
//迭代文档中的表格
while (it.hasNext())
Table tb = (Table) it.next();
//迭代行,默认从0开始
for (int i = 0; i < tb.numRows(); i++)
TableRow tr = tb.getRow(i);
//迭代列,默认从0开始
for (int j = 0; j < tr.numCells(); j++)
TableCell td = tr.getCell(j);//取得单元格
//取得单元格的内容
for(int k=0;k<td.numParagraphs();k++)
Paragraph para =td.getParagraph(k);
String s = para.text();
System.out.println(s);
//end for
//end for
//end for
//end while
catch(Exception e)
e.printStackTrace();

//end method

public void testWord1()
try
//word 2003: 图片不会被读取
InputStream is = new FileInputStream(new File("D:\\\\sinye.doc"));
WordExtractor ex = new WordExtractor(is);
String text2003 = ex.getText();
System.out.println(text2003);
//word 2007 图片不会被读取, 表格中的数据会被放在字符串的最后
OPCPackage opcPackage = POIXMLDocument.openPackage("D:\\\\sinye.doc");
POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
String text2007 = extractor.getText();
System.out.println(text2007);

catch (Exception e)
e.printStackTrace();


参考技术A 使用POI组件 ! 参考技术B 建议你参考下pageoffice的示例代码,它在这方面做的很好,网上挺多事例代码的,搜搜看。

以上是关于Java操作word里的表格问题,高分在线等!的主要内容,如果未能解决你的问题,请参考以下文章

C# 如何操作一个已经打开的word文档里的表格

Java 在Word中添加表格嵌套表格

Java 操作Word书签:添加文本图片表格到书签内容

如何用Java实现将word里的表格数据写入到excel中去

在线编辑Word——插入表格

java 生成word用啥方法好 poi 还是iText生成rtf