2015-04-23 246 views
1

我想從Excel文件導入到SQL Server表的數據。我收到此錯誤「外部表格未處於預期格式(Microsoft Office Access數據庫引擎)」 我正在使用Microsoft SQL Server 2012和Excel 2007.我嘗試了Microsoft SQL Server導入和導出嚮導。然後我選擇了Microsoft Excel作爲數據源,選擇了文件名並選擇了Excel的版本。然後我得到了上面的錯誤信息。從Excel導入數據到SQL Server表

+2

你是如何導入它?通過嚮導?你選擇了'Excel源碼'嗎?我們需要更多信息。 –

+0

Access是如何得到它的?我以爲你從Excel導入數據到SQL? –

+0

http://stackoverflow.com/questions/375991/import-excel-spreadsheet-columns-into-sql-server-database。沒有足夠的信息,如果您正在使用該向導,請確保您有數據類型,長度和正確的Jet引擎。 –

回答

1

發現它是用excel文件做的。在打開excel文件之前,我得到了這個錯誤消息:「您試圖打開.xls的文件的格式與文件擴展名指定的格式不同,請確認該文件在打開文件之前沒有損壞,並且來自受信任的來源。 打開它並複製它的內容並從中創建一個新的excel文件。然後我用這個文件在嚮導中導入。我指定Microsoft Excel作爲源文件名和Microsoft Excel 2007版本。 對於目標,我選擇了SQL Server Native Client 11.0,服務器名稱和數據庫。我選擇了編輯映射來映射Excel表格和目標表格之間的字段。運行嚮導後,它將數據傳輸到sql server中的目標表。

1

檢查以確保Excel工作簿上沒有密碼(並且它確實刪除了它)。我得到同樣的錯誤,並修復它。

0

我有這個問題,有一個xsls文件(Excel 2007)。該向導正確識別了該版本,但因「未處於預期格式」錯誤而失敗。

我不確定錯誤的來源是什麼 - 我懷疑電子表格中有鏈接或引用無效。

我複製了我感興趣的工作表的內容,並將其粘貼到新的空白工作表中。我保存了它,然後在導入嚮導中打開它,並且沒有導入它的問題。

0

我發現問題在於Excel工作表是.xls格式,我使用的是Excel 2010和SQL Server 2014,所以解決方案是簡單地將電子表格轉換爲.xlsx,然後通過選擇再次運行嚮導Excel作爲數據源,自動選擇Exel 2007作爲數據源的Excel版本,並在嚮導平穩運行時解決了問題。

因此,不需要將工作表的內容複製到新的電子表格中。

希望能幫助任何人!

0

在我的情況下,我一次從3張紙導入數據時出現此錯誤。然後我只選擇一張紙並且它工作。我接下來選擇其他兩張紙,他們也工作得很好,有時您可能只想單獨導入紙張或給它第二次機會。它可能有助於某人。

0

我的問題是我的Excel表沒有定義命名範圍。一旦我在我的Excel文件中創建了一個命名範圍,我就可以導入它。

0

您應該將您的Excel文件保存到較低版本,可以是一個2003版本的Excel。一旦保存文件,您現在可以執行SQL的數據傳輸。

基因