Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: [wlx] odbc-wlx - просмотр Access, Excel, CSV файлов 
Author Message
Destiny



PostPosted: Thu Oct 28, 2021 14:07    Post subject: Reply with quote

Касательно 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 гарантируют, что заголовки не будут выделяться
движком при разборе - всё будет считаться ТЕКСТОВЫМИ табличными данными! Что нам и нужно для простого показа.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group