• C#使用ExcelDataReader读取Excel并返回DataTable类


    using ExcelDataReader;
    using System;
    using System.Data;
    using System.IO;

    public class ExcelReader
        {
            public static DataTable GetExcelDatatable(string fileUrl)
            {

                using (var stream = File.Open(fileUrl, FileMode.Open, FileAccess.Read))
                {
                    IExcelDataReader reader;

                    if (fileUrl.EndsWith(".xls"))
                    {
                        reader = ExcelReaderFactory.CreateBinaryReader(stream);
                    }
                    else if (fileUrl.EndsWith(".xlsx"))
                    {
                        reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                    }
                    else
                    {
                        throw new Exception("Invalid Excel file format");
                    }

                    DataSet ds = new DataSet();

                    ds.Tables.Add(ReadData(reader));

                    return ds.Tables[0];

                }

            }


            static DataTable ReadData(IExcelDataReader reader)
            {
                DataTable dt = new DataTable();
                reader.Read();
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    dt.Columns.Add(reader.GetValue(i).ToString());
                }
                while (reader.Read())
                {
                    DataRow row = dt.NewRow();
                    for (int i = 0; i < reader.FieldCount; i++)
                    {
                        row[i] = reader.GetValue(i);
                    }
                    dt.Rows.Add(row);
                }

                return dt;
            }
        }
    }

  • 相关阅读:
    LeetCode-754. 到达终点数字【数学】
    Spring Security权限控制系列
    使用Mindspore推理会出现内存泄漏问题
    2023快递高质量发展高峰论坛暨2023上海国际快递物流产业博览会
    Docker下载、安装、卸载
    idea搭建ssm项目全过程详解:
    【Javascript】数组练习(在排好序的数组⾥,按照⼤⼩顺序插⼊数据)
    AndroidStudio 导入项目模块失败
    工业信息物理系统攻击检测增强模型
    计算机毕业设计(附源码)python-志愿者管理系统
  • 原文地址:https://blog.csdn.net/qq_33790894/article/details/134534814