Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# 带括号的负值不会导出到excel_C#_Asp.net_Excel - Fatal编程技术网

C# 带括号的负值不会导出到excel

C# 带括号的负值不会导出到excel,c#,asp.net,excel,C#,Asp.net,Excel,我正在开发一个.Net应用程序。 我有一个要求,我可能会得到输入值“-21455.254746”,我想处理这样的问题,这将显示为(21455.25)”在用户界面上,甚至在导出到word或excel中 我的意思是负值应该显示在括号中,小数点应该四舍五入到2 以下格式在UI和导出到word上工作正常。但在excel导出中,缺少括号 string resultValue = Convert.ToDouble("-21455.254746").ToString("#,##0.00;(#,##0.00);

我正在开发一个.Net应用程序。 我有一个要求,我可能会得到输入值“-21455.254746”,我想处理这样的问题,这将显示为
(21455.25)
”在用户界面上,甚至在导出到word或excel中

我的意思是负值应该显示在括号中,小数点应该四舍五入到2

以下格式在UI和导出到word上工作正常。但在excel导出中,缺少括号

string resultValue = Convert.ToDouble("-21455.254746").ToString("#,##0.00;(#,##0.00);0.00");
此值将绑定到gridview(asp.net)


请有人建议最好的方法,它也适用于excel…

对于Word和Web,我完全理解您为什么要以字符串形式呈现,但是对于excel,它在数字格式方面非常出色,所以让它来为您处理。只需以其本机(十进制)格式传递值,并为excel提供格式字符串:

ws.Cells[1, 1].NumberFormat = "0.00_);(0.00)";
ws.Cells[1, 1].Value = -21455.254746;
为了给您一些信心,下面是实际跑步的屏幕截图:


我认为excel会将数值格式单元格中的
(n)
转换为
-n
。请尝试将格式更改为文本:@Bizhan:对不起,我没有完全理解您的意思。我没有直接将值分配给excel工作表的单元格。作为数据表或grdview的整个结果集将传递给导出功能(这是一个常见的功能)。请粘贴导出功能的代码。我是说,这不是您的代码的问题,这是一个excel功能,可以从数字中删除偏执。如果您将单元格格式更改为“文本”,它应该可以正常工作。