Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#SSIS脚本任务-格式化Excel列时添加千位分隔符_C#_Excel_Ssis_Etl_Script Task - Fatal编程技术网

C#SSIS脚本任务-格式化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

当前在SSIS中的脚本任务中使用以下C#将Excel列格式化为数字

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您能否提供您正在实现的全部代码,因为可能是其他代码行改变了列的行为。