• c# Excel转换成DataSet


         ///


            /// Excel转换成DataSet(.xlsx/.xls)
            ///

            /// Excel文件路径
            ///
            ///
            public static DataSet ExcelToDataSet(string filePath, out string strMsg)
            {
                strMsg = "";
                DataSet ds = new DataSet();
                DataTable dt = new DataTable();
                string fileType = Path.GetExtension(filePath).ToLower();
                string fileName = Path.GetFileName(filePath).ToLower();
                try
                {
                    ISheet sheet = null;
                    int sheetNumber = 0;
                    // 加载Excel文件
                    using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read))
                    {
                        if (fileType == ".xlsx")
                        {
                            // 2007版本
                            XSSFWorkbook workbook = new XSSFWorkbook(fs);
                            sheetNumber = workbook.NumberOfSheets;
                            for (int i = 0; i < sheetNumber; i++)
                            {
                                string sheetName = workbook.GetSheetName(i);
                                sheet = workbook.GetSheet(sheetName);
                                if (sheet != null)
                                {
                                    dt = GetSheetDataTable(sheet, out strMsg);
                                    if (dt != null)
                                    {
                                        dt.TableName = sheetName.Trim();
                                        ds.Tables.Add(dt);
                                    }
                                    else
                                    {
                                        //MessageBox.Show("Sheet数据获取失败,原因:" + strMsg);
                                    }
                                }
                            }
                        }
                        else if (fileType == ".xls")
                        {
                            // 2003版本
                            HSSFWorkbook workbook = new HSSFWorkbook(fs);
                            sheetNumber = workbook.NumberOfSheets;
                            for (int i = 0; i < sheetNumber; i++)
                            {
                                string sheetName = workbook.GetSheetName(i);
                                sheet = workbook.GetSheet(sheetName);
                                if (sheet != null)
                                {
                                    dt = GetSheetDataTable(sheet, out strMsg);
                                    if (dt != null)
                                    {
                                        dt.TableName = sheetName.Trim();
                                        ds.Tables.Add(dt);
                                    }
                                    else
                                    {
                                        //MessageBox.Show("Sheet数据获取失败,原因:" + strMsg);
                                    }
                                }
                            }
                        }
                    }
                    return ds;
                }
                catch (Exception ex)
                {
                    strMsg = ex.Message;
                    return null;
                }


            }

  • 相关阅读:
    网络原理——TCP/IP--数据链路层,DNS
    动环监控系统什么牌子好?动环监控有哪些厂家
    【中秋国庆不断更】XML在HarmonyOS中的生成,解析与转换(上)
    常见移动端导航类型
    SwiftUI 导航教程之如何实现没有 Navigation View的 SwiftUI 导航功能
    Amazon MSK 基于 S3 的数据导出、导入、备份、还原、迁移方案
    安装IIS服务(Internet信息服务(Internet Information Services,简写IIS,互联网信息服务)
    七牛云QRTC自研传输协议(QRTP)对音画质量的提升
    canvas note
    Springboot结合Freemaker导出模板doc和docx文件
  • 原文地址:https://blog.csdn.net/vbloveshllm/article/details/136369392