gpt4 book ai didi

c# - ClosedXML:使用百分比、小数点后一位和四舍五入?

转载 作者:太空狗 更新时间:2023-10-29 20:14:04 25 4
gpt4 key购买 nike

我正在尝试使用 C# 和 ClosedXML 将数据输入到 Excel 工作表中。我已经找到了我要找的大部分东西,但是我在获取 ClosedXML 来处理小数位数以及四舍五入数字时遇到了一些问题。

我目前正在使用 cell.Style.NumberFormat.NumberFormatId = 10;为了让单元格显示小数点后两位的百分比,我只想显示小数点后一位,而 wiki for ClosedXML只显示 0 位或 2 位小数的百分比。

接下来,当我不使用 ClosedXML 并直接添加数据时,Excel 会将小数位向上舍入,但是当我使用 ClosedXML 输入数据时,单元格不会四舍五入,有没有办法强制 ClosedXML 为我四舍五入,还是我需要手动执行此操作?

最佳答案

看起来你可能需要根据这个 SO Answer: https://stackoverflow.com/a/7900397/541208 编写你自己的自定义 NumberFormatId ,或者,在 ClosedXML docs 中,它说要添加一个新的 Style :

var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Style NumberFormat");

var co = 2;
var ro = 1;

// Using a custom format
ws.Cell(++ro, co).Value = "123456.789";
ws.Cell(ro, co).Style.NumberFormat.Format = "$ #,##0.00";

ws.Cell(++ro, co).Value = "12.345";
ws.Cell(ro, co).Style.NumberFormat.Format = "0000";

// Using a OpenXML's predefined formats
ws.Cell(++ro, co).Value = "12.345";
ws.Cell(ro, co).Style.NumberFormat.NumberFormatId = 3;

ws.Column(co).AdjustToContents();

workbook.SaveAs("StylesNumberFormat.xlsx");

因此,您的自定义 NumberFormat 将类似于 0.0%,基于默认格式 listed here:

ws.Cell(ro, co).Style.NumberFormat.Format = "0.0%"; 

关于c# - ClosedXML:使用百分比、小数点后一位和四舍五入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12267421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com