Java POI导入word, 带图片
1.导入文件示例,word中简历表格模板

2.代码示例分两部分,一部分读取图片
/**
* 导入word(基本信息,word格式)
* @param staffId
* @param baseInfoFile
*/
void importStaffInfo(Integer staffId, MultipartFile file);
-- 读取图片
InputStream inputStream = baseInfoFile.getInputStream();
XWPFDocument doc = new XWPFDocument(inputStream);
// 一:读取word中的照片 docx,把得到的data写入你要写入的文件
List<XWPFPictureData> 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 = new File(targetPath);
if (!targetFile.exists()) {
if (!targetFile.getParentFile().exists()) {
targetFile.getParentFile().mkdirs();
}
targetFile.createNewFile();
}
FileOutputStream out = new FileOutputStream(targetFile);
out.write(data);
out.close();
}
-- 读取表格信息
Iterator<XWPFTable> 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();
}
}
}
}
}
Java POI导入word, 带图片的更多相关文章
- freemarker导出word带图片
导出word带图片 如果你需要在word中添加图片,那你就在第一步制作模板时,加入一张图片占位,然后打开xml文档,可以看到如下的一片base64编码后的代码: <w:binData w:nam ...
- 在java poi导入Excel通用工具类示例详解
转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36 作者:daochuwenziyao 我要评论 这篇文章主要给大家介绍了关于在j ...
- Java POI 解析word文档
实现步骤: 1.poi实现word转html 2.模型化解析html 3.html转Map数组 Map数组(数组的操作处理不做说明) 1.导jar包. 2.代码实现 package com.web.o ...
- 如何用java POI将word中的内容导入到mysql数据库中
由于作业需要,要求我们将word文档中的数据直接导入到mysql中,在网上找了很常时间,终于将其解决. 由于比较初级,所以处理的word文档是那种比较规范的那种,条例比较清晰,设计的思路也比较简单,就 ...
- java导出word(带图片)
public class CreateWordDemo { public void createDocContext(String file) throws DocumentException,IOE ...
- 【java】Freemarker 动态生成word(带图片表格)
1.添加freemarker.jar 到java项目. 2.新建word文档. 3.将文档另存为xml 格式. 4.将xml格式化后打开编辑(最好用notepad,有格式),找到需要替换的内容,将内容 ...
- java poi 导入excel
最近项目需要导入excel,网上有很多例子,自己整合记录下,兼容2003和2007,暂时没有添加图片处理功能. 所需jar包 http://pan.baidu.com/s/1sjPuWDR pack ...
- Java POI 读取word文件
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1.读取word 2003及word 2007需要 ...
- java+poi实现word转html显示
直入正题,需求为页面预览word文档,用的是poi3.8,以下代码支持表格.图片,不支持分页,只支持doc,不支持docx: 1.导jar包 2.java文件 /** * */ import java ...
随机推荐
- 编程代码 | C++/C输出阳历万年历—精美日历制作
前言:本文章向大家介绍如何用C语言代码实现万年历使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下. void输出万年历(int年, int月, int日 ...
- 扫描仪扫描文件处理-imagemagick常用参数
-resize 宽x高(缩放,不变形) -extent 宽x高(放大,不变形)之前设置:-gravity center(重心居中) -brightness-contrast 亮度x对比度(设置亮度对比 ...
- centos8:linux平台查看线程(ps/pstree/top)
一,ps/pstree/top命令所属的rpm包 pstree所属的包 [root@blog ~]# whereis pstree pstree: /usr/bin/pstree /usr/bin/p ...
- Linux用户和组管理命令-用户创建useradd
用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...
- MVC查询
前言 最近没什么好写的,所以写个查询来巩固一下知识 HTML @{ Layout = null; } <!DOCTYPE html> <html> <head> & ...
- django—ORM相关
常用的QuerySet方法 1.all() 查询表中所有数据,返回一个QuerySet对象列表 2.filter() 查询满足条件的数据,返回一个QuerySet对象列表 3.get() 查询指定的数 ...
- java面试题:多线程交替输出偶数和奇数
一个面试题:实现两个线程A,B交替输出偶数和奇数 问题:创建两个线程A和B,让他们交替打印0到100的所有整数,其中A线程打印偶数,B线程打印奇数 这个问题配合java的多线程,很多种实现方式 在具体 ...
- c++ stl库中的set
简单说来 set(集合)里的元素 不会有相同元素(也就是说 相同的值不存 )并且 存进去会自动排序 类比sort默认排序从小到大 set排序也是 set/multiset会根据待定的排序准则,自动将 ...
- 2020年Android开发最新整理阿里巴巴、字节跳动、小米面经,你不看看吗?
前言 2020年是转折的一年,上半年疫情原因,很多学android开发的小伙伴失业了,虽找到了一份工作,但高不成低不就,下半年金九银十有想法更换一份工作,很多需要大厂面试经验和大厂面试真题的小伙伴,想 ...
- Redis可以做哪些事?
Redis是一种基于键值对的NoSQL数据库,它的值主要由string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)五种基本数据结构构成,除此之外还支持一些其他的 ...