From b4ac5a5204a26ecaa66e05ca5ee568c5b05b3460 Mon Sep 17 00:00:00 2001
From: 10191 <506754232@qq.com>
Date: Sat, 25 Apr 2026 19:31:22 +0800
Subject: [PATCH] 11
---
SGGL/BLL/Common/NPOIHelper.cs | 90 ++++++++++++++++++++++++++++++++++-
1 file changed, 89 insertions(+), 1 deletion(-)
diff --git a/SGGL/BLL/Common/NPOIHelper.cs b/SGGL/BLL/Common/NPOIHelper.cs
index b376f00d..57e9cbdf 100644
--- a/SGGL/BLL/Common/NPOIHelper.cs
+++ b/SGGL/BLL/Common/NPOIHelper.cs
@@ -22,7 +22,7 @@ namespace BLL
///
/// Excel文件路径
///
- public static DataTable ExcelToDataTable(string filePath)
+ public static DataTable ExcelToDataTable1(string filePath)
{
var dt = new DataTable();
using (var file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
@@ -85,6 +85,94 @@ namespace BLL
}
return dt;
}
+ public static DataTable ExcelToDataTable(string filePath)
+ {
+ var dt = new DataTable();
+ using (var file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
+ {
+ var hssfworkbook = new HSSFWorkbook(file);
+ var sheet = hssfworkbook.GetSheetAt(0);
+ var rows = sheet.GetRowEnumerator();
+ rows.MoveNext();
+ var row = (HSSFRow)rows.Current;
+ for (var j = 0; j < row.LastCellNum; j++)
+ {
+ var cell = row.GetCell(j);
+ if (cell != null)
+ {
+ dt.Columns.Add(cell.StringCellValue);
+ }
+ else
+ {
+ dt.Columns.Add("collum" + j);
+ }
+
+ }
+ while (rows.MoveNext())
+ {
+ row = (HSSFRow)rows.Current;
+ var dr = dt.NewRow();
+ for (var i = 0; i < row.LastCellNum; i++)
+ {
+ var cell = row.GetCell(i);
+ if (cell == null)
+ {
+ dr[i] = null;
+ }
+ else
+ {
+ try
+ {
+ switch (cell.CellType)
+ {
+ case CellType.Blank:
+ //dr[i] = "[null]";
+ break;
+ case CellType.Boolean:
+ dr[i] = cell.BooleanCellValue;
+ break;
+ case CellType.Numeric:
+ dr[i] = cell.ToString();
+ break;
+ case CellType.String:
+ dr[i] = cell.StringCellValue;
+ break;
+ case CellType.Error:
+ dr[i] = cell.ErrorCellValue;
+ break;
+ case CellType.Formula:
+ try
+ {
+ dr[i] = cell.NumericCellValue;
+ }
+ catch
+ {
+ try
+ {
+ dr[i] = cell.StringCellValue;
+ }
+ catch
+ {
+ dr[i] = null;
+ }
+ }
+ break;
+ default:
+ dr[i] = "=" + cell.CellFormula;
+ break;
+ }
+ }
+ catch (Exception ex)
+ {
+ }
+ }
+ }
+ dt.Rows.Add(dr);
+ }
+ }
+ return dt;
+ }
+
///
/// Excel转换成DataSet(.xlsx/.xls)