This commit is contained in:
2026-06-09 16:14:26 +08:00
parent 420b242006
commit 6474cec1d6
8 changed files with 383 additions and 255 deletions
+91
View File
@@ -78,6 +78,97 @@ namespace BLL.Common
return dt;
}
public static DataTable ExcelToDataTable1(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;
}
/// <summary>
/// Excel转换成DataSet.xlsx/.xls
/// </summary>