From 8a45077cfa9c5ba734e91bca1ef7d88152ba5b47 Mon Sep 17 00:00:00 2001 From: 许鹏程 <1821349743@qq.com> Date: 星期四, 29 六月 2023 09:32:33 +0800 Subject: [PATCH] poi、easyexcel、poi-tl升级 ,合并空调中的报表、数据源模块 --- src/main/java/com/product/lucene/util/FileUtils.java | 139 ++++++++++++++++++++++++--------------------- 1 files changed, 74 insertions(+), 65 deletions(-) diff --git a/src/main/java/com/product/lucene/util/FileUtils.java b/src/main/java/com/product/lucene/util/FileUtils.java index be965f3..4283c2c 100644 --- a/src/main/java/com/product/lucene/util/FileUtils.java +++ b/src/main/java/com/product/lucene/util/FileUtils.java @@ -14,6 +14,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.usermodel.Range; +import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; @@ -28,16 +29,17 @@ public class FileUtils { /** - * 鏂囦欢杞瑂tring + * 鏂囦欢杞瑂tring + * * @param file * @return */ public static String FileToString(File file) { - String file_content=""; - if ((file != null) && (file.isFile())) { - if (file.getName().toLowerCase().endsWith(".txt")) { - file_content = txtToString(file); - } else if ((file.getName().toLowerCase().endsWith(".doc"))){ + String file_content = ""; + if ((file != null) && (file.isFile())) { + if (file.getName().toLowerCase().endsWith(".txt")) { + file_content = txtToString(file); + } else if ((file.getName().toLowerCase().endsWith(".doc"))) { file_content = docToString(file); } else if ((file.getName().toLowerCase().endsWith(".docx"))) { file_content = docxToString(file); @@ -47,17 +49,18 @@ file_content = readXlsx(file); } } - return file_content; - } - + return file_content; + } + /** - * txt鏂囦欢璇诲彇 + * txt鏂囦欢璇诲彇 + * * @param file * @return */ public static String txtToString(File file) { String result = ""; - try (BufferedReader br = new BufferedReader(new FileReader(file))){// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢 + try (BufferedReader br = new BufferedReader(new FileReader(file))) {// 鏋勯�犱竴涓狟ufferedReader绫绘潵璇诲彇鏂囦欢 String s = null; // 浣跨敤readLine鏂规硶锛屼竴娆¤涓�琛� while ((s = br.readLine()) != null) { @@ -68,18 +71,19 @@ } return result; } - + /** - * doc杞枃鏈� + * doc杞枃鏈� + * * @param file * @return */ public static String docToString(File file) { String result = ""; try ( - FileInputStream fileInputStream = new FileInputStream(file); - HWPFDocument doc = new HWPFDocument(fileInputStream); - ){ + FileInputStream fileInputStream = new FileInputStream(file); + HWPFDocument doc = new HWPFDocument(fileInputStream); + ) { Range rang = doc.getRange(); result += rang.text(); } catch (Exception e) { @@ -87,24 +91,25 @@ } return result; } - + /** - * docx杞枃鏈� + * docx杞枃鏈� + * * @param file * @return * @throws IOException */ public static String docxToString(File file) { - StringBuffer s=new StringBuffer(); + StringBuffer s = new StringBuffer(); try ( - InputStream inputStream = new FileInputStream(file); - XWPFDocument doc = new XWPFDocument(inputStream); - ){ + InputStream inputStream = new FileInputStream(file); + XWPFDocument doc = new XWPFDocument(inputStream); + ) { List<XWPFParagraph> paras = doc.getParagraphs(); for (XWPFParagraph para : paras) { // 褰撳墠娈佃惤鐨勫睘鎬� // CTPPr pr = para.getCTP().getPPr(); - s.append( para.getText()); + s.append(para.getText()); } // 鑾峰彇鏂囨。涓墍鏈夌殑琛ㄦ牸 List<XWPFTable> tables = doc.getTables(); @@ -119,7 +124,7 @@ // 鑾峰彇琛屽搴旂殑鍗曞厓鏍� cells = row.getTableCells(); for (XWPFTableCell cell : cells) { - s.append( cell.getText()); + s.append(cell.getText()); } } } @@ -128,20 +133,20 @@ } return s.toString(); } - + /** * `xls杞瓧绗� - * @param f + * + * @param file * @return * @throws IOException */ public static String readXls(File file) { StringBuffer info = new StringBuffer(); - try( - InputStream inputStream = new FileInputStream(file); - HSSFWorkbook hssfWorkbook = new HSSFWorkbook(inputStream); - ) - { + try ( + InputStream inputStream = new FileInputStream(file); + HSSFWorkbook hssfWorkbook = new HSSFWorkbook(inputStream); + ) { // Read the Sheet for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) { HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet); @@ -165,84 +170,88 @@ } return info.toString(); } - + /** - * xlsx杞瓧绗� + * xlsx杞瓧绗� + * * @param file * @return * @throws IOException */ public static String readXlsx(File file) { StringBuffer info = new StringBuffer(); - try( + try ( InputStream is = new FileInputStream(file); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); - ){ - - for (int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++) { - XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet); - if (xssfSheet == null) { - continue; - } - // Read the Row - for (int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++) { - XSSFRow xssfRow = xssfSheet.getRow(rowNum); - if (xssfRow != null) { - int tdLength = xssfRow.getLastCellNum(); - for (int j = 0; j <= tdLength; j++) { - XSSFCell no = xssfRow.getCell(j); - info.append(getValue(no)).append(" "); + ) { + + for (int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++) { + XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet); + if (xssfSheet == null) { + continue; + } + // Read the Row + for (int rowNum = 0; rowNum <= xssfSheet.getLastRowNum(); rowNum++) { + XSSFRow xssfRow = xssfSheet.getRow(rowNum); + if (xssfRow != null) { + int tdLength = xssfRow.getLastCellNum(); + for (int j = 0; j <= tdLength; j++) { + XSSFCell no = xssfRow.getCell(j); + info.append(getValue(no)).append(" "); + } } } } - } } catch (Exception e) { e.printStackTrace(); } return info.toString(); } - + /** - * 鑾峰彇xls鍗曞厓鏍煎�� + * 鑾峰彇xls鍗曞厓鏍煎�� + * * @param hssfCell * @return */ private static String getValue(HSSFCell hssfCell) { if (hssfCell == null) return ""; - if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) { + CellType cellType = hssfCell.getCellType(); + if (CellType.BOOLEAN.equals(cellType)) { return String.valueOf(hssfCell.getBooleanCellValue()); - } else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) { + } else if (CellType.NUMERIC.equals(cellType)) { return String.valueOf(hssfCell.getNumericCellValue()); } else { - hssfCell.setCellType(hssfCell.CELL_TYPE_STRING); return String.valueOf(hssfCell.getStringCellValue()); } } - + /** - * 鑾峰彇xlxs鍗曞厓鏍煎�� + * 鑾峰彇xlxs鍗曞厓鏍煎�� + * * @param xssfRow * @return */ private static String getValue(XSSFCell xssfRow) { if (xssfRow == null) return ""; - if (xssfRow.getCellType() == xssfRow.CELL_TYPE_BOOLEAN) { + CellType cellType = xssfRow.getCellType(); + if (CellType.BOOLEAN.equals(cellType)) { return String.valueOf(xssfRow.getBooleanCellValue()); - } else if (xssfRow.getCellType() == xssfRow.CELL_TYPE_NUMERIC) { + } else if (CellType.NUMERIC.equals(cellType)) { return String.valueOf(xssfRow.getNumericCellValue()); } else { return String.valueOf(xssfRow.getStringCellValue()); } } - + public static void main(String[] args) { - File f1=new File("D://ceshi/a.txt"); - File f2=new File("D://ceshi/b.doc"); - File f3=new File("D://ceshi/c.docx"); - File f4=new File("D://ceshi/d.xls"); - File f5=new File("D://ceshi/e.xlsx"); + File f1 = new File("D://ceshi/a.txt"); + File f2 = new File("D://ceshi/b.doc"); + File f3 = new File("D://ceshi/c.docx"); + File f4 = new File("D://ceshi/d.xls"); + File f5 = new File("D://ceshi/e.xlsx"); System.out.println(txtToString(f1)); System.out.println("+++++++++++++++++++++++++++++++++++++++++++"); System.out.println(docToString(f2)); -- Gitblit v1.9.2