C#SSIS脚本任务-格式化Excel列时添加千位分隔符
当前在SSIS中的脚本任务中使用以下C#将Excel列格式化为数字C#SSIS脚本任务-格式化Excel列时添加千位分隔符,c#,excel,ssis,etl,script-task,C#,Excel,Ssis,Etl,Script Task,当前在SSIS中的脚本任务中使用以下C#将Excel列格式化为数字 sheet.Columns[6].NumberFormat = "0.00"; 但是,在创建列时,缺少千分位分隔符。有没有办法将此添加到中?我相信您可以使用此: sheet.Columns[6].NumberFormat=“#,##0.00” 即使值为0,带零的位置也将显示,而带磅符号(#)的位置仅在需要时显示 以下是使用此格式时将显示的一些示例: 10000 -> 10,000.00 1000 -> 1,000
sheet.Columns[6].NumberFormat = "0.00";
但是,在创建列时,缺少千分位分隔符。有没有办法将此添加到中?我相信您可以使用此:
sheet.Columns[6].NumberFormat=“#,##0.00”代码>
即使值为0,带零的位置也将显示,而带磅符号(#)的位置仅在需要时显示
以下是使用此格式时将显示的一些示例:
10000 -> 10,000.00
1000 -> 1,000.00
10 -> 10.00
5.25 -> 5.25
.25 -> 0.25
.1 -> 0.10
在做了一些研究之后,我发现:
在这里,我找到了一个适合您的解决方案:
为了总结这篇文章,它声明您应该定义一个变量(数字),然后初始化它。之后,您将格式化两次:首先使用.ToDecimal(number)
,然后使用.ToString((“#,##0.00”)
现在,让我们将此应用于您的示例:
定义并初始化变量——假设您将其命名为工作表中第6列的名称(在本例中,假设您将其定义为常量,且该常量名为“cost”)
public const int cost=sheet.Columns[6]
然后您要格式化:
Convert.ToDecimal(cost.ToString(“#,##0.00”);
这将得到所需的结果。数字格式表达式由以下数字说明符组成:
#:数字占位符
0:零占位符
,:小数点
:十进制分隔符
[红色]:颜色说明符
%:百分比占位符
可以使用以下表达式显示千位分隔符:
sheet.Columns[6].NumberFormat = "#,##0.00";
示例(图片取自以下参考文献):
参考资料:
使用谢谢你,mykhailo.romaniuk!这里是新的,但不管有多大可能都想帮忙。:)嗨,我试过了,但它不起作用,恐怕没有千人之分present@OllieSP有趣。也许您可以更新您的问题,以包含更多的代码?这可能会受到数据在列中填充方式的影响嗨,我尝试过这个,但它不起作用,恐怕没有数千个分隔符present@OllieSP您能否提供您正在实现的全部代码,因为可能是其他代码行改变了列的行为。