• 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;
                }


            }

  • 相关阅读:
    ACM MM 2023 | 基于去中心化表征的人体姿态估计方法
    手动安装JAR包到MAVEN库
    软文推广中媒体矩阵的优势在哪儿
    Docker 常用命令
    国产AD+全志T3开发案例,为能源电力行业排忧解难!8/16通道
    Java数据库连接 (Java Database connect)
    Django学习日志05
    STM32-- GPIO->EXTI->NVIC中断
    Vue首次使用Element
    聚合物纳米材料造影剂供应|超声联合载血卟啉PLGA造影剂|携抗HER-2抗体PLGA高分子纳米超声造影剂
  • 原文地址:https://blog.csdn.net/vbloveshllm/article/details/136369392