我正在尝试将数据从Source excel移动到Destination excel。但是,在移动数据之前,我需要进行一些格式化。最重要的转换是字符串到货币,以便我可以有$符号,然后Date应该是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/>
任何帮助?非常感谢。
更新:要求输出列的格式为货币类型而不是文字。
答案 0 :(得分:0)
实现派生列任务,在将值传递给Excel目标之前将“$”连接到值?数据类型为派生列中的字符串,使用如下表达式:
using (var bmp = new Bitmap(panel1.Width, panel1.Height))
{
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
bmp.Save("output.png", System.Drawing.Imaging.ImageFormat.Jpeg);
}
MSDN参考:https://msdn.microsoft.com/en-us/library/ms138036.aspx
答案 1 :(得分:0)
添加脚本组件将2列标记为输入并创建输出列:
outDate
和outCurrency
编写以下代码:
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文件更改。或者您必须使用excel操作库(如microsoft.office.interop.excel
或OpenXML