JAVA直接对MS Word的操作

2018-12-23 22:46

【关键词】直接读取 MS Word 表格数据 【分类】JAVA 编码实现

【提供者】曾明奇 管理信息化 【问题描述】

我们在实际的运用中,用纯JAVA操纵MS Excel的较多,但是用JAVA直接对MS Word的操作较少,这里介绍下直接读取MS Word里的表格中的数据。

这里需要用到POI的几个包,到其官方网站下载下来:http://poi.apache.org/

一、直接读取MS Word里的文本内容 //读文档

@Test

public void testReadWord(){

try{ } }

FileInputStream in = new FileInputStream (\); WordExtractor extractor = new WordExtractor(in); String str = extractor.getText(); log.debug(str); e.printStackTrace(); e.printStackTrace();

}catch(FileNotFoundException e) { }catch (IOException e) {

一、直接读取MS Word里的表格数据

/**

* 直接读取Word文档中的表格中的内容 */ @Test

public void testTableCellLastParagraph() throws Exception {

File file = new File(dirname, \); FileInputStream in = new FileInputStream(file);

HWPFDocument doc = new HWPFDocument(in);

Range r = doc.getRange();

TableIterator it = new TableIterator(r);

//在表格外面插入内容

CharacterProperties cp = new CharacterProperties(); cp.setBold(true);

cp.setCharacterSpacing(10); cp.setChse(cp.SPRM_CHARSCALE); cp.setCapitalized(true);

int p = r.numParagraphs();

while(it.hasNext()){

Table t = (Table)it.next();

for(int i=0,j=t.numRows();i

TableRow row = t.getRow(i);

for(int m=0,n=row.numCells();m

TableCell cell = row.getCell(m);

String[] a = cell.text().split(\);//这个符号特别,类似

小方框□(粘贴到doc文档后变成了下划线) List list = Arrays.asList(a);

}

Paragraph para = r.getParagraph(p-1); log.debug(para.text());

para.insertBefore(\, cp); log.debug(para.text()); in.close(); } 二、 写文档

// 写文档

public boolean writeWordFile(String filePath, String content) {

boolean w = false; try { }

catch (IOException e) { }

return w; }

e.printStackTrace();

byte b[] = content.getBytes();

ByteArrayInputStream bais = new ByteArrayInputStream(b); POIFSFileSystem fs = new POIFSFileSystem(); DirectoryEntry directory = fs.getRoot();

DocumentEntry de = directory.createDocument(\\, FileOutputStream ostream = new FileOutputStream(filePath); fs.writeFilesystem(ostream); bais.close(); ostream.close();

}

String name = (String)list.get(0);

log.debug(\第 \+i+\行第 \+m+\列==>>\+name); }

bais);

【分析原因】由于POI对MS Word的操作还不尽完善等原因,在写MS Word时会有一点问题。

【避免此类问题的建议】可以直接打开其源码看一下他的实现。


JAVA直接对MS Word的操作.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:医药代表毕业实习报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: