2016-10-25 72 views
0

我想將數據從源excel移動到目標excel。不過,在我移動數據之前,我需要做一些格式化。最重要的轉換是字符串到貨幣,這樣我可以有$符號,然後日期應該是yyyy-mm-dd格式。下面是源

<br/> 
ID Amount Date<br/> 
A1 10.01 10/25/2016<br/> 
A2 100.3 10/26/2016<br/> 

格式的數據,我想加載到目標Excel中

ID Amount  Date<br/> 
A1 **$10.01** 2016/10/26<br/> 
A2 **$100.30** 2016/10/26<br/> 

任何幫助的例子嗎?非常感謝。

更新:它是要求EXCEL中的輸出列爲非貨幣類型的非文本。

回答

0

實現派生列任務,在將值傳遞給Excel目標之前將值「連接」爲值?使用類似的表達式數據類型作爲派生列串如下:

'$' + columnWithDollarValue 

MSDN參考:https://msdn.microsoft.com/en-us/library/ms138036.aspx

+0

我已經嘗試過,但客戶希望列是貨幣格式不是文本。 – Santosh

+0

使用此功能會將該列轉換爲TEXT。客戶不希望這樣。 – Santosh

0

添加腳本組件標記的2列作爲輸入,並創建以輸出列: outDateoutCurrency

在腳本中寫入以下代碼:

if not Row.Date_ISNull AndAlso not string.isnullorEmpty(Row.Date) 
row.outDate = Date.ParseExact(Row.Date,"MM/dd/yyyy", new system.globalization.cultureinfo("en-GB"),none).tostring("yyyy/MM/dd") 
else 
row.outDate_IsNull = True 

end if 


If not row.Currency_IsNUll andAlso not string.isnullorEmpty(row.Currency) Then 
row.outcurrency = "$" & Row.Currency 
else 
Row.outCurrency_IsNull = True 
end if 

並將輸出列映射到目標Excel

如果要以貨幣格式存儲該列,則必須從Excel文件更改該列。或者你必須改變它使用腳本任務使用Excell操縱庫,如microsoft.office.interop.excelOpenXML