C# Execl的使用总结

这篇博客总结了如何使用C#进行Excel操作,包括获取Excel工作表数量、获取工作表名称列表以及将Excel转换为DataSet。通过示例代码展示了如何打开Excel文件、遍历工作表并提取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 获取execl sheet个数

        /// <summary>
        /// 获取execl个数
        /// </summary>
        /// <param name="Path"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        public static int ExcelGetSheetIndex(string Path)
        {
            Workbook workbook = new Workbook();
            workbook.Open(Path);

            int count = workbook.Worksheets.Count;

            return count;
        }

2.获取execl sheet名称集合

        /// <summary>
        /// 获取execl sheet名称集合
        /// </summary>
        /// <param name="Path"></param>
        /// <returns></returns>
        public static List<sheetData> ExcelGetSheetList(string Path)
        {
            List<sheetData> returnList = new List<sheetData>();
            Workbook workbook = new Workbook();
            workbook.Open(Path);

            int count = workbook.Worksheets.Count;

            for (var i = 1; i < count; i++)
            {
                DataSet set = ExcelUitl.GetTableList(Path);
                DataTable table = set.Tables[workbook.Worksheets[i].Name];
                List<cdData> cdList = new List<cdData>();
                foreach (DataRow row in table.Rows)
                {
                    if (table.Columns.Count > 2)
                    {
                        string key = row[0].ToString();
                        string number = row[1].ToString();
                        string value = row[2].ToString();

                        cdData cd = new cdData()
                        {
                            key = key,
                            number = number,
                            value = value
                        };

                        cdList.Add(cd);
                    }
                    else
                    {
                        string key = row[0].ToString();
                        string value = row[1].ToString();

                        cdData cd = new cdData()
                        {
                            key = key,
                            value = value
                        };

                        cdList.Add(cd);
                    }
                }

                sheetData data = new sheetData()
                {
                    index = i,
                    name = workbook.Worksheets[i].Name,
                    data = cdList
                };

                returnList.Add(data);
            }

            return returnList;
        }

3.将execl输出为DataSet

        public static DataSet GetTableList(string Path)
        {
            DataSet ds = new DataSet();

            Workbook workbook = new Workbook();
            workbook.Open(Path);
            if (workbook.Worksheets != null)
            {
                foreach (Worksheet sheet in workbook.Worksheets)
                {
                    Cells cells = sheet.Cells;

                    DataTable dt = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);
                    dt.TableName = sheet.Name;
                    ds.Tables.Add(dt);
                }
            }
            return ds;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值