C#如何使用 OleDbConnection 连接读取Excel?(代码实例)

互联网 18-10-18
本篇文章给大家带来的内容是C#如何使用 OleDbConnection 连接读取Excel?(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。
/// <summary>         /// 读取Excel中数据         /// </summary>         /// <param name="strExcelPath"></param>         /// <param name="tableName"></param>         /// <returns></returns>         public static DataTable GetExcelTableByOleDB(string strExcelPath, string tableName)         {             try             {                 DataTable dtExcel = new DataTable();                 //数据表                 DataSet ds = new DataSet();                 //获取文件扩展名                 string strExtension = System.IO.Path.GetExtension(strExcelPath);                 string strFileName = System.IO.Path.GetFileName(strExcelPath);                 //Excel的连接                 OleDbConnection objConn = null;                 switch (strExtension)                 {                     case ".xls":                         objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 8.0;HDR=yes;IMEX=1;\"");                         break;                     case ".xlsx":                         objConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelPath + ";" + "Extended Properties=\"Excel 12.0;HDR=yes;IMEX=1;\"");//此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)  备注: "HDR=yes;"是说Excel文件的第一行是列名而不是数,"HDR=No;"正好与前面的相反。"IMEX=1 "如果列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。                          break;                     default:                         objConn = null;                         break;                 }                 if (objConn == null)                 {                     return null;                 }                 objConn.Open();                 //获取Excel中所有Sheet表的信息                 //System.Data.DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);                 //获取Excel的第一个Sheet表名                 // string tableName1 = schemaTable.Rows[0][2].ToString().Trim();                 string strSql = "select * from [" + tableName + "$]";                 //获取Excel指定Sheet表中的信息                 OleDbCommand objCmd = new OleDbCommand(strSql, objConn);                 OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);                 myData.Fill(ds, tableName);//填充数据                 objConn.Close();                 //dtExcel即为excel文件中指定表中存储的信息                 dtExcel = ds.Tables[tableName];                 return dtExcel;             }             catch (Exception ex)             {                 Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace);                 return null;             }         }

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问C#视频教程!

以上就是C#如何使用 OleDbConnection 连接读取Excel?(代码实例)的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C#如何连接数据库?OleDbConnection与SqlConnection的区别

相关资讯