This commit is contained in:
李超 2026-04-25 19:31:22 +08:00
parent 4de6e7cad0
commit b4ac5a5204
1 changed files with 89 additions and 1 deletions

View File

@ -22,7 +22,7 @@ namespace BLL
/// </summary>
/// <param name="filePath">Excel文件路径</param>
/// <returns></returns>
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;
}
/// <summary>
/// Excel转换成DataSet.xlsx/.xls