Excel 读取数据,日期读取

本文介绍了两种读取Excel数据的方法:通过sqlCommand和使用Microsoft Office Object Library。sqlCommand方法快速但要求数据格式统一,不适用于有标题的表格。第二种方法灵活性高,但效率较低。在处理日期时间时,通过Excel的WorksheetFunction.Text进行转换解决了数值型日期问题,但耗时较长。作者分享了在处理Excel数据时的经验和挑战。
摘要由CSDN通过智能技术生成

   最近应要求写了一段代码,读取excel数据。excel读取方法有两个,两个各有自己的优势,同时也有各自的缺点。

方法一:采用sqlCommand命令读取方法。

具体实现代码如:               

               //FilePath是路径
                string conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + FilePath + ";Extended Properties =Excel 8.0;";
                //Sheet1 是表名
                string sql = "select * from [Sheet1$] where [Rows]=" + 5;
                OleDbCommand cmd = new OleDbCommand(sql, new OleDbConnection(conn));
                OleDbDataAdapter ad = new OleDbDataAdapter(cmd);
                DataSet ds = new DataSet();
                ad.Fill(ds);
                dt = ds.Tables[0];
                dataGridView1.DataSource = ds.Tables[0];

这个方法的最大优点就是像操作数据库一样,能快速地读取数据,将数据保存到列表中。但是正因为跟数据库相似,所以excel数据的格式要统一,不能有标题什么的。因为我做的过程中所读的表固定前五行固定是标题,所以一直报错:在第33行格式不符,气死我了…………。

第二种方式是最传统的excel操作方式:

1,在引用部分添加引用:在com组建部分添加Microsoft Office12.0 object library 和Microsoft Excel 12.0 object library 两个库。

    在文件标头添加

    using Microsoft.Office.Core;
    using Excel;

然后读取的代码是:

  Excel.ApplicationClass app = new Applicatio

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值