示例代码:
static HSSFWorkbook hssfworkbook;
/// <summary>
/// 初始化Excel文件
/// </summary>
/// <param name="path">文件路径</param>
public static DataTable initialWorkbook(string path)
{
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read))
{
hssfworkbook = new HSSFWorkbook(fs);
}
HSSFSheet sheet = hssfworkbook.GetSheetAt(0);
System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
DataTable dt = new DataTable();
for (int i = 0; i < 5; i++)
{
dt.Columns.Add(Convert.ToChar(((int)'A') + i).ToString());
}
while (rows.MoveNext())
{
HSSFRow hr = (HSSFRow)rows.Current;
DataRow dr = dt.NewRow();
for (int i = 0; i < hr.LastCellNum; i++)
{
HSSFCell hc = hr.GetCell(i);
if (hc == null)
{
dr[i] = null;
}
else
{
dr[i] = hc.ToString();
}
}
dt.Rows.Add(dr);
}
return dt;
}
此为在控制台中使用,故定义了静态 HSSFWorkbook 变量
当需要处理的excel文件的后缀为.xlsx时,最好使用XSSFWorkbook进行操作。