2015-11-18 3 views
1

нам нужно экспортировать некоторые данные в Excel, который отлично, данные в процентах и, следовательно, я обеспечиваюКак установить Excel и 0.00% до 0.0000 десятичного значения

cell.NumberFormat = "0.00%" 

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

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

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

и все клетки, которые имеют значение в 0 показать метки на них говорят -

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

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

ответ

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 

Непонятно, если ваши данные уже находятся на листе или нет. Если это не тогда, то данные передаются в double из источника.

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

Позвольте мне попробовать Мат, спасибо – Muds

+0

Действительно? Удивительно! - Есть ли какие-либо объяснения этому .. форматы хорошо, но все же показывает ту же ошибку ... Так что ошибка ремонта все еще существует, но после ремонта excel кажется в порядке. – Muds

+0

Не знаете, почему это точно. Excel делает некоторые странные вещи, делая предположения о том, что вы хотите. Он делает это в основном с датами, но у меня были эти проблемы и с процентами. – MatthewD