(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文件,如何读取文件内容,创建包含内容的图片文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)