• 欢迎访问交通人网站!
  • 分享一款小游戏:信任的进化
  •    发表于9年前 (2016-02-26)  热点资讯 |   抢沙发  558 
    文章评分 2 次,平均分 5.0

    在C#中,读取Excel文件的方法有多种,小编习惯使用OleDb,具体代码如下:

     /// 读取Excel文件
     /// filePath:Excel工作薄名称(包括路径)
     /// sheetName:Sheet表名称
    private static DataTable GetExcelData(string filePath, string sheetName)
     {
     string strCon = string.Empty;
     //根据文件格式设置不同的连接字符串
     if (Path.GetExtension(filePath) == ".xls")//Excel 2003
     {
     strCon = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + filePath + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
     }
     else if (Path.GetExtension(filePath) == ".xlsx")//Excel 2007及以上
     {
     strCon = "Provider=Microsoft.Ace.OleDb.12.0; Data Source=" + filePath + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
     }
     try
     {
     OleDbConnection myConn = new OleDbConnection(strCon);
     string strCom = string.Format(" SELECT * FROM [{0}$]", sheetName);
     myConn.Open();
     OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
     DataSet ds = new DataSet();
     myCommand.Fill(ds, "[" + sheetName + "]");
     myConn.Close();
     myConn.Dispose();
     DataTable dt;
     dt = ds.Tables[0];
     return dt;
     }
     catch (Exception err)
     {
     Console.WriteLine(err);
     return null;
     }
     }

    注意:在使用OleDb读取Excel文件时,可能会出现数据丢失的现象,具体解决办法请参考《通过注册表解决OLEDB方式读取Excel数字文本混合列数据丢失的问题》。

     

    除特别注明外,本站所有文章均为交通人原创,转载请注明出处来自http://www.hijtr.com/csharp-use-oledb-to-read-excel/

    交通人博客是交通人工作室(JTR Studio)建立的交通人系列网站之一,是交通人工作室的主阵地,旨在整合和分享交通行业相关资讯,具体包括但不限于行业新闻、行业动态,以及行业相关规范、书籍、报告和软件等资源。

    发表评论

    表情 格式

    暂无评论

    
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享