POI *** 作Word模板文本替换(表格文本替换)

POI *** 作Word模板文本替换(表格文本替换),第1张

(19条消息) 使用POI读写word docx文件 wangxintong_1992的博客-CSDN博客 poi 写入word

POI *** 作word模板并生成新的word - (jianshucom)

POI在读写 word docx 文件时是通过 XWPF 模块来进行的,其核心是XWPFDocument。一个XWPFDocument代表一个docx文档,其可以用来读docx文档,也可以用来写docx文档。XWPFDocument中主要包含下面这几种对象:

XWPFDocument:代表一个docx文档

XWPFParagraph:代表一个段落。

XWPFRun:代表具有相同属性的一段文本。

XWPFTable:代表一个表格。

XWPFTableRow:表格的一行。

XWPFTableCell:表格对应的一个单元格。

如有错误,欢迎指正

Step 01 显示出虚拟表格。在 Word 空白文档中单击插入 选项卡表格组中的表格 按钮, 在d出的下拉列表中显示了虚拟表格。

Step 02 选择创建的行列数。在虚拟表格中移动鼠标可选择表格的行列值。例如, 将鼠标指针指向坐标为 4 列 6行的单元格, 鼠标前的区域将呈选中状态, 并显示为橙色, 选择表格区域时, 虚拟表格的上方会显示“4×6表格”等类似的提示文字, 该信息表示鼠标指针滑过的表格范围, 也意味着即将创建的表格大小。与此同时,文档中将模拟出所选大小的表格。

你可以把word文件用二进制的方式保存到数据库,再把他读取出来,

WordExtractor extractor = new WordExtractor();

String str = extractorextractText(in);

这个in 你可以把读取出来的二进制转为ByteArrayInputStream 对象。

关键代码如下:

FileInputStream fileInputStream = new FileInputStream( soureFile);

POIFSFileSystem pfs = new POIFSFileSystem( fileInputStream );

HWPFDocument hwpf = new HWPFDocument(pfs);// make a HWPFDocument object

OutputStream output = new FileOutputStream( targetFile );

hwpfwrite(output);// write to the target file

outputclose();

(2)再word中插入表格。HWPF的情况:

Table tcDataTable = rangeinsertTableBefore( (short)column , row);//column and row列数和行数

tcDataTablegetRow(i)getCell(j)getParagraph(0)getCharacterRun(0)insertBefore("插入i行j列的内容" );

XWPF的情况:

String outputFile = "D:\\testdoc";

XWPFDocument document = new XWPFDocument();

XWPFTable tableOne = documentcreateTable();

XWPFTableRow tableOneRowOne = tableOnegetRow(0);

tableOneRowOnegetCell(0)setText("11");

XWPFTableCell cell12 = tableOneRowOnecreateCell();

cell12setText("12");

// tableOneRowOneaddNewTableCell()setText("第1行第2列");

// tableOneRowOneaddNewTableCell()setText("第1行第3列");

// tableOneRowOneaddNewTableCell()setText("第1行第4列");

XWPFTableRow tableOneRowTwo = tableOnecreateRow();

tableOneRowTwogetCell(0)setText("21");

tableOneRowTwogetCell(1)setText("22");

// tableOneRowTwogetCell(2)setText("第2行第3列");

XWPFTableRow tableOneRow3 = tableOnecreateRow();

tableOneRow3addNewTableCell()setText("31");

tableOneRow3addNewTableCell()setText("32");

FileOutputStream fOut;

try {

fOut = new FileOutputStream(outputFile);

documentwrite(fOut);

fOutflush();

// *** 作结束,关闭文件

fOutclose();

} catch (Exception e) {

eprintStackTrace();

}

>

下方是读取 word 文件的 Java 代码,值得注意的是: POI 在读取 word 文件的时候不会读取 word 文件中的信息, 还有就是对于 2007 版的 word(docx), 如果 word 文件中有表格,所有表格中的数据都会在读取出来的字符串的最后。

以上就是关于POI *** 作Word模板文本替换(表格文本替换)全部的内容,包括:POI *** 作Word模板文本替换(表格文本替换)、poi如何在word建一个相同的表格、有关Java POI问题:从数据库读取word excel 或者是html文件,如何读取文件内容,创建包含内容的图片文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10128997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存