C# 使用Oledb 操作EXCEL 表

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

using System;
using System.Data;
using System.Data.OleDb;

namespace excel
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            //很多这种; 遇到很多类不懂也没关系  学习这种连接都是一种固定的流程 也是直接把那个流程拿过来 后续要处理改动的地方其实不多 根据你需求小改即可

            string fileName = "装备信息.xsl"; //要选自动复制到输出目录
            string connectionStr = "Provider = Microsoft.Jet.OLEDB.4.0;"+"Data Source="+fileName+";"+";Extended Properties=\"Excel 0.0;HDR=YES;IMEX=1\"";  //连接指定数据源

            OleDbConnection oleDbConnection = new OleDbConnection(connectionStr); // 把连接的字符串传递给它 -----建立一个连接对象

            oleDbConnection.Open(); //真正建立连接的语句,即如果上面那个数据对象存在 则建立连接
                                    //
            string sql = "select * from [Sheet1$]"; //数据库语句 查询所有行 从表格1里面  一个excel文件里面可以有表1 表2 表3

            OleDbDataAdapter oleAdapter = new OleDbDataAdapter(sql,oleDbConnection); // 数据设配器 用来执行 sql查询语的工具


            DataSet excelData = new DataSet(); // 怎么把数据从excel里面提取出来 

            oleAdapter.Fill(excelData); //数据设配器 把 填充好的信息 放到excelData里面

            oleDbConnection.Close();//关闭连接

           

            DataTableCollection tableCollection = excelData.Tables; //表格集合 

            DataTable table = tableCollection[0]; //得到它的一张表格

            DataRowCollection rowCcollection = table.Rows; //行集合

            foreach (DataRow row in rowCcollection)
            {

                for (int i = 0; i < 3; i++) {
                    Console.WriteLine(row[i] + "");

                
                }

                Console.WriteLine();
            }
        }
    }
}

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有点麻烦。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

耐心195

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值