使用ADO.NET读取XLS文件

在项目开发过程中,有时会碰到要将XLS文件中的数据导入到数据库的需求。因为ADO.NET中的OleDB功能提供了连接和操纵XLS文件的功能,所以可用它来读取XLS中文件的内容并实现类似数据库的查询语句操作。

 其关键是使用XLS文件的NAMED RANGE功能,它类似于数据库中表的概念。那么,如何创建一个Named Range呢?

1)将SpreadSheet的第一行作为列名;

2)使用XLS菜单中的 Insert | Name | Define来创建一个Named Range;

    

3)使用OleDbCommand来读取数据:

        Private Sub LoadCustomers()

           Dim strConnectionString As String =String.Format("Provider=Microsoft.Jet.OleDb.4.0;data source={0};Extended Properties=Excel 8.0;", Me.txtPath.Text.Trim)
           Dim XLSConnection AS New OleDbConnection(ConnectionString)
           Dim strSql As String = "Select CustomerName,CustomerAddress,CustomerCity,CustomerState,CustomerPostalCode,CustomerPhone,ZoneID,CustomerType From Customers"
           Dim objCmd As New OleDbCommand(strSql, XLSConnection) 

                 Dim dr As IDataReader= objCmd.ExecuteReader()

          .....

posted @ 2009-11-02 10:58  Rickey Hu  阅读(843)  评论(0编辑  收藏  举报