使用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()
.....