我有同樣的問題,我已部分解決。列的順序對此很重要。
如果第一行是一個首部,各列可以容易地作爲SQL進口,並且可以是任何順序:
SELECT Col1 AS [DBCol1],
Col2 AS [DBCol2],
Col3 AS [DBCol3],
Col4 AS [DBCol4],
Col5 AS [DBCol5],
Col6 AS [DBCol6]
FROM SheetName$
以及如果第一行不是首部中的列的順序是重要的。它可以從SQL導入爲:
SELECT F1 AS [DBCol1],
F2 AS [DBCol2],
F3 AS [DBCol3],
F4 AS [DBCol4],
F5 AS [DBCol5],
F6 AS [DBCol6]
FROM SheetName$
WHERE F2 IS NOT NULL AND F3 IS NOT NULL AND F1 <> 'Col1'
請注意列名稱的區別。我遇到的問題是獲得第二個導入沒有錯誤。 第一個導入是使用第一行作爲標題,第二個不是。第二個工作的重要之處在於你已經知道空列和頭的第一列是一個固定的名字。您可以嘗試使用文件命名約定來更改數據指向的表。
編輯:在Importing from Excel - Header is not on row 1
SELECT F1 AS [DBCol1],
F2 AS [DBCol2],
F3 AS [DBCol3],
F4 AS [DBCol4],
F5 AS [DBCol5],
F6 AS [DBCol6]
FROM [SheetName$A3:G65536]
編輯找到了答案:我終於找到了我所需要的答案。
首先 - 我的整個問題發生是因爲電子表格的第一行不是標題。
我所遇到的問題不得不與第一列必須僅爲文本。沒有混合的數據類型。第一列中的任何數據必須被強制爲通過預撇號(')到任何數字單元格的文本。如果標題行是第一行,並且「第一行是標題」複選框已被選中,則這不是必需的。解決方案的許多其他部分也是必需的。 「WHERE」子句是必要的,但是數組選擇(A3:G65536)不是。