c#.net读取excel表格

 使用的命名空间为:using System.Data.OleDb;

2 连接数据库的字符串为:string myConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\目录.xls;Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\"";      
//*.xsl可以认为是数据库了,HDR表示是否隐藏excel的第一行(因为第一行一般表示字段名称)
//IMEX 参数,因为不同的模式代表著不同的读写行为:当IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。

OleDbConnection myConnection = new OleDbConnection(myConn);

string mySQLstr = "SELECT f1,f2,f5 FROM [Sheet1$]";       //[Sheet1$]就是表格了,选取第1,2,5列,用Fn表示第n列

OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(mySQLstr, myConnection);

DataSet myDS = new DataSet();

7 myDataAdapter.Fill(myDS, "[Sheet1$]");          //原理都跟读取sql是一样O(∩_∩)O

8 DataTable dt = myConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);       //把相关信息记录到datatable中
   string tbname = dt.Rows[0][2].ToString().Trim();              //读取表名信息

【注意】
由于excel每个单元格内数据默认的格式为:varchar(255),因此读取超过255的单元格内容是需要修改注册表,这里提供修改方法:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]
"TypeGuessRows"="0"

表示从前TypeGuessRows行判断数据的类型,如果还是读取不正确,使用最笨的办法是第一行的该字段后面添加255个空格,此法管用,但是个人感觉不完美啊。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,可以使用第三方库来读取Excel文件并将其转换为类。根据引用\[1\]和引用\[2\]的代码片段,可以看出可以使用IExcelDataReader来读取Excel文件的内容。首先,需要使用FileStream来打开Excel文件,然后使用ExcelReaderFactory.CreateOpenXmlReader方法创建一个IExcelDataReader对象。接下来,可以使用reader.AsDataSet()方法将Excel表中的数据转换为DataSet类型。然后,可以遍历DataSet中的每个表格,使用DataTable来获取表格的具体信息。可以使用table.Rows来获取行数据,使用row\[k\]来获取行中某一列的信息。根据需要,可以将这些数据转换为类的实例。引用\[3\]中的代码示例展示了如何使用ExcelHelper类来读取Excel文件并将其转换为DataTable表格。根据需要,可以将DataTable表格转换为类的实例。 #### 引用[.reference_title] - *1* *2* [C#读取Excel文件](https://blog.csdn.net/qq_52690206/article/details/127843280)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C#底层库--Excel数据读取类(可读加密表格)](https://blog.csdn.net/youcheng_ge/article/details/126887445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值