Single Post |
Topic: [wlx] odbc-wlx - просмотр Access, Excel, CSV файлов |
Author |
Message |
Destiny
|
Posted: Thu Oct 28, 2021 14:07 Post subject: |
|
|
Касательно ODBC. А вот такое там не проходит?
Code: |
Sub Test()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strConnection As String
Dim sql As String
' Create the connection string.
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source='d:\Downloads\_______output.xls';" _
& "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"
' Create the Connection and Recordset objects.
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
sql = "SELECT * FROM [Лист1$A1:E10]"
' Open the connection and execute.
conn.Open strConnection
Set rs = conn.Execute(sql)
' Check we have data.
If Not rs.EOF Then
' Transfer result.
ActiveSheet.Range("A1").CopyFromRecordset rs
' Close the recordset
rs.Close
Else
MsgBox "Error: No records returned.", vbCritical
End If
' Clean up
If CBool(conn.State And adStateOpen) Then conn.Close
Set conn = Nothing
Set rs = Nothing
End Sub
|
собственно самое вкусное спрятано вот в этой строке:
Quote: | strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source='d:\Downloads\_______output.xls';" _
& "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';" |
Во-первых, провайдер Microsoft.ACE.OLEDB.12.0 - он в состоянии читать как новый формат Excel XlsX, XlsB, XlsM,
так и старый-добрый xls. Разницу просто надо уточнить в подстроке "Extended Properties"
'Excel 8.0' для Excel 97-2003 Xls файлов. И 'Excel 12.0 Xml' для XlsX. И 'Excel 12.0' для XlsB. И 'Excel 12.0 Macro' для XlsM
Во-вторых, и это самое важное! Два след. элемента: HDR=NO;IMEX=1 гарантируют, что заголовки не будут выделяться
движком при разборе - всё будет считаться ТЕКСТОВЫМИ табличными данными! Что нам и нужно для простого показа. |
|
|
|
 |
|
Powered by phpBB © 2001, 2005 phpBB Group
|