加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用NPOI读取EXCEL中的数据到DataTable中

发布时间:2020-12-16 04:00:12 所属栏目:asp.Net 来源:网络整理
导读:示例代码: ?static HSSFWorkbook hssfworkbook; ? ? ? ? /// summary ? ? ? ? /// 初始化Excel文件 ? ? ? ? /// /summary ? ? ? ? /// param name="path"文件路径/param ? ? ? ? public static DataTable initialWorkbook(string path) ? ? ? ? { ? ? ? ? ?

示例代码:

?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进行操作。








(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读