From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
src/main/java/com/gk/firework/Domain/Utils/ExcelProperty.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 100 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Domain/Utils/ExcelProperty.java b/src/main/java/com/gk/firework/Domain/Utils/ExcelProperty.java
new file mode 100644
index 0000000..960aae2
--- /dev/null
+++ b/src/main/java/com/gk/firework/Domain/Utils/ExcelProperty.java
@@ -0,0 +1,100 @@
+package com.gk.firework.Domain.Utils;
+
+import org.apache.poi.ss.usermodel.*;
+
+import java.text.DecimalFormat;
+import java.text.Format;
+import java.util.Date;
+
+/**
+ * Created by Administrator on 2017/8/12.
+ */
+public class ExcelProperty {
+ public static Object getCellValue(Cell cell,FormulaEvaluator evaluator) {
+ Object value = "";
+// SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss"); //日期格式化
+// DecimalFormat df2 = new DecimalFormat("0.00"); //格式化数字
+
+ if(null == cell)
+ {
+ return "";
+ }
+ switch (cell.getCellTypeEnum()) {
+ case _NONE:
+ value = "";
+ break;
+ case BLANK:
+ value = "";
+ break;
+ case BOOLEAN:
+ value = cell.getBooleanCellValue();
+ break;
+ case ERROR:
+ value = cell.getErrorCellValue();
+ break;
+ case FORMULA:
+ CellValue cellValue = evaluator.evaluate(cell);
+ switch (cellValue.getCellTypeEnum()) {
+ case _NONE:
+ value = "";
+ break;
+ case BLANK:
+ value = "";
+ break;
+ case BOOLEAN:
+ value = cellValue.getBooleanValue();
+ break;
+ case ERROR:
+ value = cellValue.getErrorValue();
+ break;
+ case NUMERIC:
+ value = cellValue.getNumberValue();
+ break;
+ case STRING:
+ if(StringUtils.isNotBlank(cell.getStringCellValue()))
+ {
+ value=cell.getStringCellValue().trim();
+ }
+ else {
+ value ="";
+ }
+ break;
+ default:
+ break;
+ }
+ break;
+ case NUMERIC:
+ value=formatNumericCell(cell.getNumericCellValue(), cell);
+ break;
+ case STRING:
+ if(StringUtils.isNotBlank(cell.getStringCellValue()))
+ {
+ value=cell.getStringCellValue().trim();
+ }
+ else {
+ value ="";
+ }
+ break;
+ default:
+ break;
+ }
+ return value;
+ }
+
+ public static String formatNumericCell(Double value, Cell cell) {
+ if(cell.getCellTypeEnum() != CellType.NUMERIC && cell.getCellTypeEnum() != CellType.FORMULA) {
+ return null;
+ }
+ //isCellDateFormatted判断该单元格是"时间格式"或者该"单元格的公式算出来的是时间格式"
+ if(DateUtil.isCellDateFormatted(cell)) {
+ Date date = cell.getDateCellValue();
+ DataFormatter dataFormatter = new DataFormatter();
+ Format format = dataFormatter.createFormat(cell);
+ return format.format(date);
+ } else {
+ DecimalFormat df = new DecimalFormat("#.###"); //格式化number String字符
+ return df.format(value);
+
+ }
+ }
+}
--
Gitblit v1.9.2