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里的表格问题,高分在线等!的主要内容,如果未能解决你的问题,请参考以下文章