Как установить формат excel от 0,00% до 0,0000 десятичного значения

нам нужно экспортировать некоторые данные в excel, что нормально, данные в процентах, поэтому я предоставляю

cell.NumberFormat = "0.00%"

Тип данных экспортируемых значений — десятичный, поэтому указанный выше формат работает нормально.

но проблема возникает, когда значение 0.00000000000000000 excel не может установить формат для этого, и, следовательно, когда мы открываем экспортированный файл excel, он говорит

Excel завершил проверку и восстановление на уровне файлов. Некоторые части этой книги могли быть отремонтированы или выброшены. Восстановленные записи: информация о ячейке из части /xl/worksheets/sheet.xml

и все ячейки со значением 0 показывают на них тег, говорящий:

Число в этой ячейке отформатировано как текст или ему предшествует апостроф.

Когда значение похоже на 0.023443434343, Excel форматирует его как 2.34%, а формат - в процентах с 2 десятичными знаками; Я не уверен, почему он не может предоставить формат для значения 0.


person Muds    schedule 18.11.2015    source источник


Ответы (1)


Прочитайте его в двойном формате, затем отформатируйте и запишите обратно. Я не получаю никаких ошибок таким образом.

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
person MatthewD    schedule 18.11.2015
comment
Действительно ? удивительно! -- есть ли какое-либо объяснение этому .. хорошо форматирует, но по-прежнему показывает ту же ошибку ... Таким образом, ошибка восстановления все еще существует, но после восстановления Excel кажется в порядке. - person Muds; 18.11.2015
comment
Не уверен, почему именно это. Excel делает некоторые странные вещи, делая предположения о том, что вы хотите. Он делает это в основном с датами, но у меня были проблемы и с процентами. - person MatthewD; 18.11.2015
comment
Эта ошибка может быть вызвана чем-то другим, поскольку я не получаю ее после сохранения и повторного открытия моей книги. - person MatthewD; 18.11.2015