@GetMapping("/importTestPeople")public void importTestPeople(@RequestParam("file") MultipartFile multipartFile) throws IOException {InputStream inputStream = null;File file = null;try {// 创建临时文件file = File.createTempFile("temp", null);// 把multipartFile写入临时文件multipartFile.transferTo(file);// 使用文件创建 inputStream 流inputStream = new FileInputStream(file);//读取Word文档XWPFDocument document = new XWPFDocument(inputStream);List<StringBuffer> joinList = new ArrayList<>();// 获取文档中的所有表格List<XWPFTable> tables = document.getTables();for (XWPFTable table : tables) {// 获取表格的行List<XWPFTableRow> rows = table.getRows();// 遍历每一行for (XWPFTableRow row : rows) {// 获取行中的单元格List<XWPFTableCell> cells = row.getTableCells();//存入数据StringBuffer stringBuffer = new StringBuffer();// 遍历每个单元格for (XWPFTableCell cell : cells) {// 输出单元格的文本内容System.out.print(cell.getText() + "|");stringBuffer.append(cell.getText() + "|");}joinList.add(stringBuffer);System.out.println(); // 换行}System.out.println(); // 表格间换行}for(int i = 0; i<joinList.size();i ++){String[] split = joinList.get(i).toString().split("\\|");ManualModeInfomation manualModeInfomation = new ManualModeInfomation();manualModeInfomation.setId(Integer.valueOf(split[0]));manualModeInfomation.setModelId(2);//父级manualModeInfomation.setFatherLevel(split[1]);//子级manualModeInfomation.setChildLevel(split[2]);//故障现象manualModeInfomation.setFaultPhenomenon(split[4]);//主要原因manualModeInfomation.setMainCause(split[5]);//解决方法manualModeInfomationMapper.insert(manualModeInfomation);}}catch (Exception e){e.printStackTrace();}finally {// 最后记得删除文件file.deleteOnExit();// 关闭流inputStream.close();}
说明:应用方面是word版且为表格,可解析,能看懂的自然会微调,感谢大家!!!
如:需word为表格形式