0

我在一个工作簿中有数百个不同的工作表,我需要将每个工作表中的所有数据附加(而不是总和)到其他工作表中,并将它们全部放在一个巨大的主工作表中。每个工作表的所有列名都完全相同。

我的最终目标是从主工作表中获取所有数据并将其放入 Access 数据库中,因此,如果有人还知道一种简单的方法,可以一次从数百个 Excel 工作表中获取数据并将其放入数据库中会很好。

似乎最好的方法是某种 VBScript,但我对此非常不熟悉。

4

1 回答 1

1

您可以比 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

请注意,您可能会遇到长列名、保留字符或列名中的名称、日期数据类型、列中的混合数据和列中的长数据的问题。

于 2013-01-02T21:34:20.393 回答