如何设置 excel format 0.00% to 0.0000 decimal value

How do I set excel format 0.00% to 0.0000 decimal value

我们需要将一些数据导出到 excel,这很好,数据以百分比表示,因此我提供

cell.NumberFormat = "0.00%"

导出值的数据类型为十进制,因此上述格式可以正常工作。

但是当值为 0.00000000000000000 时会出现问题 excel 无法为其设置格式,因此当我们打开导出的 excel 文件时,它显示

Excel completed file level validation and repair. Some parts of this workbook may have been repaired or discarded. Repaired Records: Cell information from /xl/worksheets/sheet.xml part

所有值为 0 的单元格都显示一个标签,上面写着 -

The number in this cell is formatted as text or is preceded by an apostrophe.

当值类似于 0.023443434343 excel 时将其格式化为 2.34% 并且格式为带 2 位小数的百分比;我不确定为什么它不能提供 0 值的格式。

将其读入double,然后格式化并写回。这样我就不会收到任何错误。

Dim ws As Excel.Worksheet
Set ws = ActiveWorkbook.Sheets("Sheet1")
Dim d As Double

d = ws.Range("C14").Value
ws.Range("C14").NumberFormat = "0.00%"
ws.Range("C14").Value = d

我不清楚您的数据是否已在工作表中。如果不是,则将数据从源中放入双倍数。

d = Val("0.00000000000000000")
ws.Range("C14").NumberFormat = "0.00%"
ws.Range("C14").Value = d