asp和ms-access db – 如何从xls文件导入数据

我想允许用户上传xls文件与9列和无限数量的行。 我将运行everyline并将数据插入到数据库

我如何阅读xls文件?

您可以通过打开一个ADOlogging集读取电子表格的数据来读取XLS。

此示例从名为“帐单摘要”的电子表格中读取数据,其中包括第一行中的列名称。

Public Sub ReadSpreadsheet() Const cstrFolder As String = "C:\Access\webforums" Const cstrFile As String = "ExampleFinance.xls" Dim strConnect As String Dim strSql As String Dim cn As Object Dim rs As Object Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ cstrFolder & Chr(92) & cstrFile & _ ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" cn.Open strConnect strSql = "SELECT * FROM [Billing Summary$] WHERE SomeField Is Not Null;" rs.Open strSql, cn Do While Not rs.EOF '* do something with each row of data *' 'Debug.Print rs!SomeField ' rs.MoveNext Loop rs.Close Set rs = Nothing cn.Close Set cn = Nothing End Sub 

如果该特定的连接string不适合您,请查看Excel连接string中Excel连接string的其他示例

编辑 :该示例在Access中工作。 但你说ASP。 我认为它也会在那里工作,如果你从variables和常量声明中删除数据types: Dim strSql而不是Dim strSql As String

使用SQL语句从Excel更新Access的示例。

 Set cn = CreateObject("ADODB.Connection") scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\docs\dbto.mdb" cn.Open scn sSQL = "SELECT * INTO NewTable FROM " sSQL = sSQL & "[Excel 8.0;HDR=YES;IMEX=2;DATABASE=C:\Docs\From.xls].[Sheet1$]" cn.Execute sSQL, recs MsgBox recs 

在C#中,我不得不加载一个Excel电子表格到数据集 – 这让我在那里…

代码项目示例

我使用了选项1 – 首选方法! 希望这可以帮助…

麦克风