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