我们需要将一些数据导出到excel,这很好,数据是百分比,因此我提供
cell.NumberFormat = "0.00%"
导出值的数据类型为十进制,因此上述格式可以正常工作。
但是当值为0.00000000000000000
时会出现问题
excel无法设置格式,因此当我们打开导出的excel文件时,它说
Excel完成了文件级验证和修复。本工作簿的某些部分可能已被修复或丢弃。 修复的记录:来自/xl/worksheets/sheet.xml部分的单元信息
并且所有值为0的单元格都显示标记 -
此单元格中的数字格式为文本或前面有撇号。
当值为0.023443434343
时,excel将其格式化为2.34%
,格式为百分比,带有2位小数;我不确定为什么它无法提供0值的格式。
答案 0 :(得分:1)
将其读入一个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