最近有一个项目需要将一个word文档中的数据提取到数据库中。就去网上查了好多资料,网上很多都是提取简历那种带表格的,但是我这个项目需要提取带目录的。找了好久,最终实现了(我的这篇博客主要是借鉴https://blog.csdn.net/qq_16601953/article/details/82415518)。
目录截图
下面贴上主要代码我是按照上面博客借鉴的稍微根据我的需求改了改
/**
* word文档导入
*/
@RestController
@RequestMapping("/api/import/word")
public class ImportWordController {
private final Logger logger = LoggerFactory.getLogger(ImportWordController.class);
/**
* 上传word文档,保存内容
*
* @param mFile word文件
* @return
*/
@PostMapping("/importWord")
public JsonResultView importWordLibrary(@RequestParam("file") MultipartFile mFile) {
logger.info("进入导入");
if (mFile.isEmpty()) {
return new JsonResultView<>(MetaCodeEnum.PARAM_ERROR.getCode(), MetaCodeEnum.PARAM_ERROR.getErrDesc());
}
InputStream is = null;
XWPFDocument doc = null;
File file = null;
List<String> failTitleList=new ArrayList<>();
try {
//MultipartFile 转file文件
file = new File(mFile.getOriginalFilename());
FileUtils.copyInputStreamToFile(mFile.getInputStream(), file);
is = new FileInputStream(file);
doc = new XWPFDocument(is);