我在一个工作簿中有数百个不同的工作表,我需要将每个工作表中的所有数据附加(而不是总和)到其他工作表中,并将它们全部放在一个巨大的主工作表中。每个工作表的所有列名都完全相同。
我的最终目标是从主工作表中获取所有数据并将其放入 Access 数据库中,因此,如果有人还知道一种简单的方法,可以一次从数百个 Excel 工作表中获取数据并将其放入数据库中会很好。
似乎最好的方法是某种 VBScript,但我对此非常不熟悉。
我在一个工作簿中有数百个不同的工作表,我需要将每个工作表中的所有数据附加(而不是总和)到其他工作表中,并将它们全部放在一个巨大的主工作表中。每个工作表的所有列名都完全相同。
我的最终目标是从主工作表中获取所有数据并将其放入 Access 数据库中,因此,如果有人还知道一种简单的方法,可以一次从数百个 Excel 工作表中获取数据并将其放入数据库中会很好。
似乎最好的方法是某种 VBScript,但我对此非常不熟悉。
您可以比 VBScript 更简单地使用 VBA:
'Requires reference to the Microsoft Excel x.x Object Library
Dim strFileName As String
Dim objXL As New Excel.Application
Dim wkb As Excel.Workbook
Dim wks As Object
'objXL.Visible = True
strFileName = "C:\Docs\LTD.xls"
Set wkb = objXL.Workbooks.Open(strFileName)
For Each wks In wkb.Worksheets
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
"TableName", strFileName, True, wks.Name & "$"
Next
'Tidy up
wkb.Close
Set wkb = Nothing
objXL.Quit
Set objXL = Nothing
传输电子表格:http: //msdn.microsoft.com/en-us/library/office/bb214134 (v=office.12).aspx
请注意,您可能会遇到长列名、保留字符或列名中的名称、日期数据类型、列中的混合数据和列中的长数据的问题。