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;}}
调用:
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相关推荐
- c# oldb连接_如何使用C#中的OleDbConnection 连接读取Excel?
如何使用C#中的OleDbConnection 连接读取Excel? 发布时间:2020-07-11 15:12:06 来源:亿速云 阅读:114 这篇文章将为大家详细讲解有关如何使用C#中的OleD ...
- C# 使用 OleDbConnection 连接读取Excel的方法
Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection. (1)Sqlconnetcion类的对象连接 ...
- c# oldb连接_C#如何使用 OleDbConnection 连接读取Excel?(代码实例)
本篇文章给大家带来的内容是C#如何使用 OleDbConnection 连接读取Excel?(代码实例).有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助./// /// 读取Excel中 ...
- c# oldb连接_C#使用 OleDbConnection 连接读取Excel
/// ///读取Excel中数据/// /// /// /// public static DataTable GetExcelTableByOleDB(string strExcelPath, s ...
- C#使用 OleDbConnection 连接读取Excel
/// /// 读取Excel中数据 /// /// /// /// public static DataTable GetExcelTableByOleDB(string strExcelPath, ...
- C# 使用 OleDbConnection 连接读取Excel
Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection. (1)Sqlconnetcion类的对象连接 ...
- C#读取Excel 2003/2007的文件(注意连接字符串)
以读取access数据集的方式读取 For excel 2007: private DataSet GetExcelData(string str) { string strC ...
- Asp.Net(C#)使用oleDbConnection 连接Excel
来自森大科技官方博客 http://www.cnsendblog.com/?p=84 Asp.Net(C#)使用oleDbConnection 连接Excel "Provider=Micro ...
- C#读取Excel文件,准换为list
经常会用到,废话不多说直接贴代码 //读取Excel文件 public static DataTable ReadExcelToTable(string path)//excel存放的路径 { try ...
- matlab显示服务器出现意外,Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决...
1.问题描述: 该错误通常发生在应用函数读取excel文件(后缀xls或xlsx)时. 应用xlsread函数读取提示服务器出现意外情况: 应用importdata读取时提示can't open fi ...
最新文章
- 【转】如何设计动态(不定)字段的产品数据库表?
- 《监控》这本书让我爱不释手
- 使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework
- vivado路径最大时钟约束_Vivado时序收敛技术(二) 时序违例的根本原因及解决方法...
- 用JAVA写一个视频播放器
- Git 笔记:廖雪峰Git 教程总结
- a6账套管理显示无法连接服务器,航天A6基础版简单建账实施流程
- 5G UPF与MEC
- 思维导图软件哪个好?盘点10款好用的思维导图软件
- Flask 数据库迁移(详解)
- 国内测试看Netflix
- 【论文阅读|浅读】DeepEmLAN: Deep embedding learning for attributed networks
- UVa 12307 Smallest Enclosing Rectangle(旋转卡壳+最小覆盖矩形)
- parzen窗估计如何进行结果分析_Parzen窗方法的分析和研讨
- 怎么自己做一个软件可以登录淘宝或者天猫等app的界面
- java毕业设计——基于java+图像处理技术的医学图像处理系统设计与实现(毕业论文+程序源码)——医学图像处理系统
- C++“读取“大量数据时--快读
- git补丁操作:git生成patch和应用patch
- Netty 实现一对一客户端聊天(由服务器转发)
- vs2017+ivf+abaqus
热门文章
- Python(二):基本数据类型、序列的基本操作
- STL总结笔记(实用 / 比赛)
- TortoiseSVN使用教程
- c++时间类型详解 time_t
- oracle 自治事务异常不回滚,ORA-06519: 检测到活动的自治事务处理,已经回退
- python中fac函数_python系列-基础
- 带有RNN循环神经网络的机器学习 4 NLP 从零到英雄 ML with Recurrent Neural Networks
- 如何解决类似 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 的问题 #10
- 算法:两个数之和为目标数Two Sum II - Input array is sorted
- 算法:回溯十六 Add and Search Word添加并查找单词