C# 如何在C中保持百分比单元格NPOI的数值#

C# 如何在C中保持百分比单元格NPOI的数值#,c#,excel,npoi,C#,Excel,Npoi,我正在尝试将特定的XLS单元格格式化为“百分比”格式。我读了这篇文章: 当我使用此解决方案时,它会有所帮助,但问题是,例如:51.35%将excel保留为5135.00% 这是我的代码: XSSFCellStyle percentageStyle = (XSSFCellStyle)workbook.CreateCellStyle(); percentageStyle.DataFormat = HSSFDataFormat.GetBuiltinFor

我正在尝试将特定的XLS单元格格式化为“百分比”格式。我读了这篇文章: 当我使用此解决方案时,它会有所帮助,但问题是,例如:51.35%将excel保留为5135.00%

这是我的代码:

            XSSFCellStyle percentageStyle = (XSSFCellStyle)workbook.CreateCellStyle();
            percentageStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00%");

            XSSFCell c = (XSSFCell)dataRow.CreateCell(column.Ordinal);
            string val = row[column].ToString();

            if (!String.IsNullOrEmpty(val) && val.Contains('%'))
                        {
                            string val2 = val.Trim('%');
                            //Console.WriteLine("percent!" + val);
                            c.SetCellValue(Double.Parse(val2));
                            c.CellStyle = percentageStyle;




                        }
有办法改变吗?我希望“Number”值与“%”一起保留。 图片附呈。

在Excel中,当数字显示为51.35%时,单元格中的值为0.5135。问题的解决方法是在Excel中将值除以100,当数字显示为
51.35%
时,单元格中的值为
0.5135
。您的问题的解决方案是将您的值除以100c.SetCellValue(Double.Parse(val2)/100);