asp и ms-access db - как импортировать данные из файла xls - PullRequest
0 голосов
/ 11 ноября 2010

Я хочу разрешить пользователю загружать файл xls с 9 столбцами и неограниченным количеством строк. я буду бегать по каждой строке и вставлять данные в БД

как мне прочитать файл xls?

Ответы [ 3 ]

1 голос
/ 11 ноября 2010

Вы можете прочитать XLS, открыв набор записей ADO, который извлекает данные из электронной таблицы.

В этом примере считываются данные из электронной таблицы «Сводка платежных данных», в которой имена столбцов указаны в первой строке.

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 

Если эта конкретная строка подключения не работает для вас, посмотрите другие примеры строк подключения Excel в Строки подключения для Excel

Редактировать : этот пример работает в Access. Но ты сказал ASP. Я думаю, что это будет работать и там, если вы удалите типы данных из объявлений переменных и констант: Dim strSql вместо Dim strSql As String

1 голос
/ 12 ноября 2010

Пример использования оператора SQL для обновления Access из 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
0 голосов
/ 11 ноября 2010

В C # мне нужно было загрузить электронную таблицу Excel в DataSet - это привело меня туда ...

Пример проекта кода

Я использовал вариант 1 -Предпочтительный способ!Надеюсь, это поможет ...

Майк

...