2017-04-25 74 views
1

使用現有的SSIS包,我試圖導入從客戶端收到的.xlsx文件。我收到錯誤消息:什麼.xlsx文件格式是這樣的?

外部表不是預期的格式

  • 這些文件將在XL
  • 當我使用XL(目前XL2010)打開另存爲。 ..該文件未作任何更改:
    • 新文件導入就好了
    • 新的文件是330%的原始文件
    • 改變的.xlsx爲.zip當的大小和調查使用WinZip內容:
      • 原始文件只有4個.xml文件和_rels文件夾(2周的.rels文件): Original file
      • 新文件預期的.xlsx內容: New file

有誰知道這可能是什麼樣的文件?

這將是很好,開發我的SSIS包與這些原始文件,而不必打開並重新保存每個文件。只有12個文件,所以如果沒有其他選項,打開/保存每個文件並不是什麼大不了的事情,而且我可以在VBA向前進行自動化。

感謝所有幫助任何人都可以提供,

CTB

+0

您好版主,如果您願意,請不要更改我的標籤。這不是一個真正的SSIS/ETL/SQL Server問題。我提到SSIS只是一種旁白。我有一個全方位的工作(換句話說:保存爲真正的XL文件),讓這些文件與現有的導入包一起導入。我更感興趣的是找到關於這些文件結構的任何信息......它們是否損壞?......它們是非MS電子表格應用程序創建.xlsx文件的嘗試嗎?......它們是從一些3rd-派對系統?Thx – InigoMontoya

+0

我提供了一個答案,並仍在等待反饋 – Hadi

回答

0

有很多Excel file formats

你試圖導入可能有另一個Excel格式,但擴展名更改爲.xlsx文件(它可能被其他人編輯),或者也可與不同的Excel版本中創建。

有一個稱爲TridNet File Identifier的第三方應用程序,它是一個實用程序,旨在從其二進制簽名識別文件類型。您可以使用它來指定指定文件的實際擴展名。

同樣在對External table is not in the expected format進行簡單搜索後,如果連接字符串中支持的excel文件的定義(或版本)與所選文件不同,則會引發此錯誤。檢查在Excel連接管理器中使用的連接字符串。這可能有助於識別文件的版本。