当前位置:   article > 正文

C# 使用Oledb 操作EXCEL 表_c# olddb操作excel

c# olddb操作excel

需要导入Oledb的nuget程序包,右键项目导入一下就好了:

  1. using System;
  2. using System.Data;
  3. using System.Data.OleDb;
  4. namespace excel
  5. {
  6. class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. Console.WriteLine("Hello World!");
  11. //很多这种; 遇到很多类不懂也没关系 学习这种连接都是一种固定的流程 也是直接把那个流程拿过来 后续要处理改动的地方其实不多 根据你需求小改即可
  12. string fileName = "装备信息.xsl"; //要选自动复制到输出目录
  13. string connectionStr = "Provider = Microsoft.Jet.OLEDB.4.0;"+"Data Source="+fileName+";"+";Extended Properties=\"Excel 0.0;HDR=YES;IMEX=1\""; //连接指定数据源
  14. OleDbConnection oleDbConnection = new OleDbConnection(connectionStr); // 把连接的字符串传递给它 -----建立一个连接对象
  15. oleDbConnection.Open(); //真正建立连接的语句,即如果上面那个数据对象存在 则建立连接
  16. //
  17. string sql = "select * from [Sheet1$]"; //数据库语句 查询所有行 从表格1里面 一个excel文件里面可以有表1 表2 表3
  18. OleDbDataAdapter oleAdapter = new OleDbDataAdapter(sql,oleDbConnection); // 数据设配器 用来执行 sql查询语的工具
  19. DataSet excelData = new DataSet(); // 怎么把数据从excel里面提取出来
  20. oleAdapter.Fill(excelData); //数据设配器 把 填充好的信息 放到excelData里面
  21. oleDbConnection.Close();//关闭连接
  22. DataTableCollection tableCollection = excelData.Tables; //表格集合
  23. DataTable table = tableCollection[0]; //得到它的一张表格
  24. DataRowCollection rowCcollection = table.Rows; //行集合
  25. foreach (DataRow row in rowCcollection)
  26. {
  27. for (int i = 0; i < 3; i++) {
  28. Console.WriteLine(row[i] + "");
  29. }
  30. Console.WriteLine();
  31. }
  32. }
  33. }
  34. }

excel表内容:

内容为:

ID

名称

图标名称

售价

星级

品质

伤害

描述

1222

光剑

武器

12223

5

1

10000

光属性武器

134

翅膀

饰品

5432

3

2

1

光属性背饰

235

头盔

护具

1234

2

3

4444

普通护甲

但是遇到一个问题:

连接不上表的数据库:

2种说法:

1)目标平台用x86 ---32位的

2)数据库操作过于频繁

(22条消息) System.Data.OleDb.OleDbException: 未指定的错误的解决方法_weixin_34179968的博客-CSDN博客

但是目前没解决问题,后面再看看。

需要读写excel 还是用epplus ,用oledb有点麻烦。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/617333
推荐阅读
相关标签
  

闽ICP备14008679号