Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
snumric7
Contributor III
Contributor III

Округление чисел при экспорте в Excel через макрос

Здравствуйте.

Когда экспортируешь штатно в Excel числа переносятся нормально.

Когда делаешь через макрос

set objExcel = CreateObject("Excel.Application"

счета округляются ...E19, форматирование и text() не помогает

чтобы обойти приходиться в сводной таблице к полю дописывать пробел +chr(160)

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

в скрипте добавлять пробел и искажать реалии как то не хочется.

Подскажите пожалуйста, еще есть варианты?

3 Replies
Zhandos_Shotan
Partner - Creator II
Partner - Creator II

Здравствуйте

Можно после экспорта тем же макросом применить нужный формат к ячейкам. Что-то вроде:

set vRange = Range(row, cell)

set vRange.CellFormat='0.0';

но это борьба с последствиями.

Была у меня похожая проблема при разных форматах вывода в столбце показателя. Решилась через изменение параметра в секретном окне настроек.

Меню - Справка - О Клик: Правой кнопкой нажимаете на иконку клик в углу. Будет большой список параметров и значения 0, 1

Я выставил параметр ExcelExportMixedAsText = 0, но там много всяких переменных связанных с Excell.

Попробуй, может поможет.

andrey_krylov
Specialist
Specialist

Hi Ivan. Встречал такую штуку, по идее не из той оперы, но вдруг где-то пригодиться)

XLDoc.WorkSheets("Sheet1").Range("A:B").NumberFormatLocal = "#.##0"

Кстати, получилось экспортировать на сервер 3 млн строк?

snumric7
Contributor III
Contributor III
Author

ASheet.Columns("C").NumberFormatLocal = "#"

Прикрепил пример.

Если ставить форматирование постфактум, теряется 16 знак (счета 16 разрядные), вместо него 0.

Т.е. счет изначально нужно вставлять как текст.

p.s. Я в соседней ветке писал, когда столбцов мало, выгружает, когда много, память уходит в постоянное значение, процессорное 0. Похоже какое то ограничение на кол-во ячеек.