asp y ms-access db – cómo importar datos del file xls

Quiero permitir que el usuario cargue el file xls con 9 columnas y un número ilimitado de filas. voy a correr sobre cada línea e insert los datos a la DB

¿Cómo leo el file xls?

Puede leer el XLS abriendo un set de loggings ADO que extrae los datos de la spreadsheet.

Este ejemplo lee datos de una spreadsheet denominada Resumen de facturación que incluye nombres de columna en la primera fila.

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 

Si esa cadena de connection particular no le funciona, consulte otros ejemplos de cadenas de connection de Excel en las cadenas de connection para Excel

Editar : Ese ejemplo funciona en Access. Pero dijiste ASP. Creo que funcionará allí también si Dim strSql los types de datos de las declaraciones de variables y constantes: Dim strSql lugar de Dim strSql As String

Ejemplo de uso de una statement de SQL para actualizar Access desde Excel.

 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 

En C #, tuve que cargar una spreadsheet de Excel en un DataSet; esto me llevó allí …

Ejemplo de proyecto de código

¡Utilicé la Opción 1: el método Preferido! Espero que esto ayude…

Micro