透过 Jet.OLEDB 读取 Excel里面的数据

透过 Jet.OLEDB 读取 Excel里面的数据

http://www.dotblogs.com.tw/mis2000lab/archive/2008/08/28/5231.aspx

 

 

我的新书里面,介绍了三个范例,跟Excel有关。

分别是 GridView转成Excel、XML转成Excel等等。

这次找到相关的数据给大家参考。

        第二篇文章,是C#的范例,是旧的ASP.NET1.1版。本文以此为例,需稍作修改。

 

 

ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063 

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)

 

ASP.NET案例精编--适用于VS2005/2008

   

 

 

首先,参考第一篇文章的作法。  

 

 

图片 四 (Fig 4. Adding MicrosoftExcel 11.0 Object Library as Reference)

 

先在VS 2005/200/2010中,加入参考 ==> COM >>选择「Microsoft Excel 11.0 ObjectLibrary 」

然后就简单了。

 

把第二篇文章的 C#改成VB语法就行了。    .NET程序的人,如果无法自己转换 VB C#语法,那真的很糟糕了。

请看----  .NET的世界里,入门的VB / C#语法转换不该是一个问题。 

 

后置程序代码的最上方,别忘了加上这两个 NameSpace(命名空间)

Imports System.Data
Imports System.Data.OleDb


 然后...............下面的 Excel档名,请自己修改一下

最讨厌的是,T-SQL指令里面,要抓取 Excel的工作表,务必要写成这个样子。后面要加上 $符号!!

照着原文(上面第二篇文章)来作,一定会错!

 

01     Protected Sub Page_Load() Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
02         Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("GridView_Excel_DataSource.xls") + ";Extended Properties=Excel8.0;"
03
04         Dim objConn As OleDbConnection = New OleDbConnection(sConnectionString)
05
06         ' Create new OleDbCommand to return data from worksheet.
07         '重点在于  Sheet1 的写法!!
08         Dim objCmdSelect As OleDbCommand = New OleDbCommand("SELECT * FROM [Sheet1$]", objConn)
09
10         ' Create new OleDbDataAdapter that is used to build a DataSet
11         ' based on the preceding SQL SELECT statement.
12         Dim objAdapter1 As OleDbDataAdapter = New OleDbDataAdapter()
13
14         'Pass the Select command to the adapter.
15         objAdapter1.SelectCommand= objCmdSelect
16
17         ' Create new DataSet to hold information from the worksheet.
18         Dim objDataset1 As DataSet = New DataSet()
19
20         ' Fill the DataSet with the information from the worksheet.
21         objAdapter1.Fill(objDataset1,"XLData")
22
23         ' Bind data to DataGrid control.
24         GridView1.DataSource = objDataset1.Tables(0).DefaultView
25         GridView1.DataBind()
26     End Sub

 

完成了,最后补充一下:

 

1 . 因为DataAdapter与DataSet,会自动开启、关闭「数据库的联机」,所以我删去这部份程序代码。跟微软的原文不太一样。

 

2.  上面的「连结 Excel档案」的字符串,这篇文章讲的很仔细,请务必看过一次-- http://blog.miniasp.com/post/2008/08/How-to-read-Excel-file-using-OleDb-correctly.aspx


3.  本范例,如果要看 C#语法,上述的第二篇(http://support.microsoft.com/kb/306572/zh-tw)就是 C#语法,请自行参考!

 

4.  比较头大的问题,是在 x6464位)的Windows操作系统上,上述的写法(Jet.OLEDB)问题不少。微软已经推出 Win2003(x64)的MDAC,但Win2008呢.....还有些问题有待时间解决啦~

 

 

真正的好东西来了~~

[转贴] Server端存取 Excel 档案的利器:NPOI Library  (2010/1/13补充)

 

================================================================================== 

如果你对于 VB与C#语法之间的转换很害怕的话(或是吓到不敢尝试),请您一定要看看这篇文章--.NET的世界里,入门的VB / C#语法转换不该是一个问题。 

 

如果您看不懂、或是不会自己手写 ADO.NET的程序,可以参考我另一篇文章--[ADO.NET] DataReader的标准范例 for ASP.NET (Code Behind版)

我的新书里面,对ADO.NET这部份有不少补充,是市面上其它书比较少见的。

 

最后,广告一下我的新书---- 

ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063 

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)

 

ASP.NET案例精编--适用于VS2005/2008

   

转载于:https://www.cnblogs.com/mis2000lab/archive/2010/10/20/2008_08_28_5231_Jet_OLEDB_Excel.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值