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

调用:

string excelFilePath = @"C:\Users\Administrator\Desktop\OpQuoteDefinition\ExcelOLEDBopDemo\bin\Debug\20171102价格导入表格物料信息.xls";
string excelSheetName = @"Sheet1";
DataTable tb= GetExcelTableByOleDB(excelFilePath, excelSheetName);

其它相关参考:导入excel错误:外部表不是预期的格式 解决方案

转载于:https://www.cnblogs.com/xifengyeluo/p/8617865.html

C#使用 OleDbConnection 连接读取Excel相关推荐

  1. c# oldb连接_如何使用C#中的OleDbConnection 连接读取Excel?

    如何使用C#中的OleDbConnection 连接读取Excel? 发布时间:2020-07-11 15:12:06 来源:亿速云 阅读:114 这篇文章将为大家详细讲解有关如何使用C#中的OleD ...

  2. C# 使用 OleDbConnection 连接读取Excel的方法

    Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection. (1)Sqlconnetcion类的对象连接 ...

  3. c# oldb连接_C#如何使用 OleDbConnection 连接读取Excel?(代码实例)

    本篇文章给大家带来的内容是C#如何使用 OleDbConnection 连接读取Excel?(代码实例).有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助./// /// 读取Excel中 ...

  4. c# oldb连接_C#使用 OleDbConnection 连接读取Excel

    /// ///读取Excel中数据/// /// /// /// public static DataTable GetExcelTableByOleDB(string strExcelPath, s ...

  5. C#使用 OleDbConnection 连接读取Excel

    /// /// 读取Excel中数据 /// /// /// /// public static DataTable GetExcelTableByOleDB(string strExcelPath, ...

  6. C# 使用 OleDbConnection 连接读取Excel

    Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection. (1)Sqlconnetcion类的对象连接 ...

  7. C#读取Excel 2003/2007的文件(注意连接字符串)

    以读取access数据集的方式读取 For excel 2007: private DataSet GetExcelData(string str)     {         string strC ...

  8. Asp.Net(C#)使用oleDbConnection 连接Excel

    来自森大科技官方博客 http://www.cnsendblog.com/?p=84 Asp.Net(C#)使用oleDbConnection 连接Excel "Provider=Micro ...

  9. C#读取Excel文件,准换为list

    经常会用到,废话不多说直接贴代码 //读取Excel文件 public static DataTable ReadExcelToTable(string path)//excel存放的路径 { try ...

  10. matlab显示服务器出现意外,Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决...

    1.问题描述: 该错误通常发生在应用函数读取excel文件(后缀xls或xlsx)时. 应用xlsread函数读取提示服务器出现意外情况: 应用importdata读取时提示can't open fi ...

最新文章

  1. 【转】如何设计动态(不定)字段的产品数据库表?
  2. 《监控》这本书让我爱不释手
  3. 使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework
  4. vivado路径最大时钟约束_Vivado时序收敛技术(二) 时序违例的根本原因及解决方法...
  5. 用JAVA写一个视频播放器
  6. Git 笔记:廖雪峰Git 教程总结
  7. a6账套管理显示无法连接服务器,航天A6基础版简单建账实施流程
  8. 5G UPF与MEC
  9. 思维导图软件哪个好?盘点10款好用的思维导图软件
  10. Flask 数据库迁移(详解)
  11. 国内测试看Netflix
  12. 【论文阅读|浅读】DeepEmLAN: Deep embedding learning for attributed networks
  13. UVa 12307 Smallest Enclosing Rectangle(旋转卡壳+最小覆盖矩形)
  14. parzen窗估计如何进行结果分析_Parzen窗方法的分析和研讨
  15. 怎么自己做一个软件可以登录淘宝或者天猫等app的界面
  16. java毕业设计——基于java+图像处理技术的医学图像处理系统设计与实现(毕业论文+程序源码)——医学图像处理系统
  17. C++“读取“大量数据时--快读
  18. git补丁操作:git生成patch和应用patch
  19. Netty 实现一对一客户端聊天(由服务器转发)
  20. vs2017+ivf+abaqus

热门文章

  1. Python(二):基本数据类型、序列的基本操作
  2. STL总结笔记(实用 / 比赛)
  3. TortoiseSVN使用教程
  4. c++时间类型详解 time_t
  5. oracle 自治事务异常不回滚,ORA-06519: 检测到活动的自治事务处理,已经回退
  6. python中fac函数_python系列-基础
  7. 带有RNN循环神经网络的机器学习 4 NLP 从零到英雄 ML with Recurrent Neural Networks
  8. 如何解决类似 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 的问题 #10
  9. 算法:两个数之和为目标数Two Sum II - Input array is sorted
  10. 算法:回溯十六 Add and Search Word添加并查找单词