2015-07-10 90 views
-1

我有一個格式化的Excel目標,其中一列是百分比,另一列是貨幣。我使用SSIS從sql表中加載這個excel。但是,excel在加載後沒有格式化。發生什麼事?Excel格式通過SSIS填充時丟失

+0

您的問題缺少一些關鍵細節:SQL Server版本,Excel文件格式版本和您正在應用的步驟。 – user3662215

回答

0

我能夠從Visual Studio 2010中創建的SSIS包中導出兩列信息(百分比和美元值)到Excel文件(97-2003格式)。數據源自使用SQL的服務器上的表Server 2012的

步驟:

  1. 創建包含一列名爲%,而另一個叫成本的Excel文件。兩者都被相應地格式化,並位於第一行。

  2. 以97-2003格式保存文件,然後關閉它。

  3. 在數據庫中創建一個表,並用一些記錄填充它。

 
    create table test_export (
     mypercent numeric(18,2), 
     mydollar numeric(18,2))

insert into test_export values (2.1, 50.00) insert into test_export values (4.5, 120.00)

  • 打開Visual Studio 2010和創建新的SSIS包。創建了一個到數據庫的OLEDB連接。

  • 在控制流選項卡下添加數據流任務,並在添加數據流任務後雙擊它。這現在應該突出顯示數據流選項卡。

  • 添加OLE DB源並指向新添加的數據庫連接,在數據訪問模式下選擇表或視圖,然後選擇在步驟#3中創建的表。選擇確定按鈕。

  • 添加一個Excel目標,確保爲它創建一個新的Excel連接管理器並指向Sheet1 $。確保指示第一行包含標題。選擇確定按鈕並將OLE DB源任務連接到下面的Excel目標任務。由於只涉及數字,因此不需要在兩者之間應用數據轉換任務。但是,在Excel目標任務中,請記住選擇映射並從左向右連接哪些源列匹配哪些目標列。

  • 在解決方案資源管理器窗格中,右鍵單擊解決方案並從下拉菜單中選擇屬性。打開左側的配置屬性並在其下面選擇調試。在調試選項下的右側,查找Run64BitRuntime並將其從True更改爲False,前提是您尚未這樣做。選擇確定按鈕。

  • 運行SSIS包。

  • 當所有任務顯示綠色已完成時,停止SSIS包。

  • 打開Excel文件,它現在將包含從數據庫表導入的值,其中包含從步驟1中保留的Excel百分比和美元格式。

  • 我在測試中運行了這些步驟,所有工作都完美無缺。如果你的格式沒有被保存,那麼你可能會捨棄一步。

    希望這會有所幫助,並請指出它是否回答了您的問題。