1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java poi 读取word图片 Java POI导入word 带图片

java poi 读取word图片 Java POI导入word 带图片

时间:2022-09-19 04:44:38

相关推荐

java poi 读取word图片 Java POI导入word  带图片

1.导入文件示例,word中简历表格模板

2.代码示例分两部分,一部分读取图片/**

* 导入word(基本信息,word格式)

* @param staffId

* @param baseInfoFile

*/

void importStaffInfo(Integer staffId, MultipartFile file);

-- 读取图片

InputStream inputStream =baseInfoFile.getInputStream();

XWPFDocument doc= newXWPFDocument(inputStream);//一:读取word中的照片 docx,把得到的data写入你要写入的文件

List allPictures =doc.getAllPictures();for(XWPFPictureData picture : allPictures) {byte[] data =picture.getData();

String oriFileName=picture.getFileName();

// 自己定义需要写入的文件地址

String targetPath= ymlConfig.getHeadImagePath() + staffId + oriFileName.substring(oriFileName.lastIndexOf("."));

File targetFile= newFile(targetPath);if (!targetFile.exists()) {if (!targetFile.getParentFile().exists()) {

targetFile.getParentFile().mkdirs();

}

targetFile.createNewFile();

}

FileOutputStream out= newFileOutputStream(targetFile);

out.write(data);

out.close();}

-- 读取表格信息

Iterator it = doc.getTablesIterator();

// 过滤前面不需要的表格

if (it.hasNext()) {

it.next();

}

// 得到需要的第二个表格,业务数据

if (it.hasNext()) {

XWPFTable xwpfTable = it.next();

// 读取每一行

for (int i = 0; i < xwpfTable.getRows().size(); i++) {

XWPFTableRow row = xwpfTable.getRow(i);

if (row != null) {

//根据模板读取需要的数据单元格,从第二列开始读取

for (int j = 1; j < row.getTableCells().size(); j++) {

XWPFTableCell cell = row.getCell(j);

if (cell != null) {

String cellText = cell.getText();

System.out.println();

}

}

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。