C#将Excel中的数据转换成DataSet

作者:hebedich 时间:2021-10-29 18:20:55 

使用C#在不借助第三方插件的情况下将Excel中的数据转换成DataSet


/// <summary>
   /// EXCEL数据转换DataSet
   /// </summary>
   /// <param name="filePath">文件全路径</param>
   /// <param name="search">表名</param>
   /// <returns></returns>    
   private DataSet GetDataSet(string fileName)
   {
     string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1';";
     OleDbConnection objConn = null;
     objConn = new OleDbConnection(strConn);
     objConn.Open();
     DataSet ds = new DataSet();
     //List<string> List = new List<string> { "收款金额", "代付关税", "垫付费用", "超期", "到账利润" };
     List<string> List = new List<string> { };
     DataTable dtSheetName = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
     foreach (DataRow dr in dtSheetName.Rows)
     {
       if (dr["Table_Name"].ToString().Contains("$") && !dr[2].ToString().EndsWith("$"))
       {
         continue;
       }
       string s = dr["Table_Name"].ToString();
       List.Add(s);
     }
     try
     {
       for (int i = 0; i < List.Count; i++)
       {
         ds.Tables.Add(List[i]);
         string SheetName = List[i];
         string strSql = "select * from [" + SheetName + "]";
         OleDbDataAdapter odbcCSVDataAdapter = new OleDbDataAdapter(strSql, objConn);
         DataTable dt = ds.Tables[i];
         odbcCSVDataAdapter.Fill(dt);
       }
       return ds;
     }
     catch (Exception ex)
     {
       return null;
     }
     finally
     {
       objConn.Close();
       objConn.Dispose();
     }
   }

以上所述就是本文的全部内容了,希望大家能够喜欢。

标签:C#,Excel,DataSet
0
投稿

猜你喜欢

  • Java语言描述MD5加密工具类实例代码

    2021-09-18 07:07:34
  • Unity多屏幕设置的具体方案

    2023-12-12 12:05:24
  • JAVA技术实现上传下载文件到FTP服务器(完整)

    2023-08-26 15:35:43
  • Android在linux下刷机教程

    2023-09-03 17:21:04
  • Spring Boot实现STOMP协议的WebSocket的方法步骤

    2022-10-01 07:12:27
  • C#操作串口通信协议Modbus的常用方法介绍

    2023-01-20 04:06:58
  • Asp.Net中避免重复提交和弹出提示框的实例代码

    2022-10-01 19:57:26
  • c#制作类似qq安装程序一样的单文件程序安装包

    2021-07-22 17:13:31
  • Java多线程之Park和Unpark原理

    2023-03-29 15:46:11
  • Android RollPagerView实现轮播图

    2023-06-12 21:10:32
  • Android开发中解析xml文件XmlUtils工具类与用法示例

    2023-03-26 01:05:45
  • Android自定义View实现水波纹引导动画

    2021-07-02 05:42:25
  • 一文带你了解C#中抽象方法与虚方法的区别

    2023-07-23 00:14:32
  • C#检查foreach判读是否为null的方法

    2021-10-28 01:37:24
  • 使用Java程序模拟实现新冠病毒传染效果

    2022-09-12 20:26:14
  • android自定义简单时钟

    2022-01-10 03:00:22
  • Android自定义ViewPager指示器

    2023-11-29 03:30:31
  • Java 使用IO流实现大文件的分割与合并实例详解

    2023-08-23 09:33:33
  • Springboot2以代码的方式统一配置Jackson教程

    2021-08-30 16:47:33
  • Java信号量Semaphore原理及代码实例

    2021-10-02 21:55:08
  • asp之家 软件编程 m.aspxhome.com