ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / Лидирующие нули при экспорте в Excel

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Лидирующие нули при экспорте в Excel
 
Здравствуйте!
Экспортирую данные в EXCEL.
Возникла проблема при экспорте номенклатурного номера "убиваются" лидирующие нули.
Проблему решил через апостроф : oAS:Cells(nLine,2):Value:="'"+OEMTOANSI(File_col->NNUM)
oAS:Cells(nLine,2):NumberFormat:="#############"
Есть еще метод TEXT ,но не понял как его "прикрутить ". Или есть еще способы сохранять лидирующие нули ?
 
Апостроф же работает. К чему излишества?
В самом Excel апостроф - чуть ли не единственное средство избежать автоматического форматирования.
С уважением, Новиков Алексей.
 
Спасибо!
И еще возникла проблема:
oAS:cells(nLine,nCol):value:=File_col->Kol
oAS:Cells(nLine,nCol):NumberFormat:="###########0.0"
При компиляции все "Ок", а при выполнении плагина программа ругается на строку
oAS:Cells(nLine,nCol):NumberFormat:="###########0.0"

Причем на выражение oAS:Cells(nLine,nCol):NumberFormat:="@" ругани нет.
Как тогда задать числовой формат ячейки?
 
Дело может быть в десятичном разделителе (точка или запятая). Причём, определить какой используется разделитель - та ещё задачка. Я делаю так, как когда-то вычитал на VBA-шном форуме.

1. Определяем разделитель
oWorkSheet:cells(1,1):formula:=oemtoansi('=ПСТР(ПИ();2;1)')
cDec:=oWorkSheet:cells(1, 1):value
oWorkSheet:cells(1,1):formula:=''

2. Используем разделитель
oWorkSheet:range(GetExcelRange(5, 4, nLine, 6)):NumberFormat:=oemtoansi('# ##0'+cDec+'00;[Красный]-# ##0'+cDec+'00;;')

Есть, правда нюанс. ПОДСТР() и ПИ() - это функции в русском Excel. Теоретически, если программу запустить, к примеру, на чистом "англичанине", то разделитель не получим. Но мне такие пока не попадались, я не заморачиваюсь.
С уважением, Новиков Алексей.
 
Еще раз спасибо!
Функция GetExcelRange - пользовательская ?
Т.е. Вы ее сами писали для выделения диапазона ячеек?

P.S.
У меня возник такой вопрос потому, что мне надо в цикле выделить определенные диапазоны ячеек и их объединить.
На выражение oRange:=oAS:Range(Cells(nachLine+1, 1), Cells(nLine,nCol)) программа ругается ,
т.е. придется ,наверное ,для этих целей писать пользовательскую функцию.
Изменено: gabov - 29.08.2016 13:13:40
 
Видимо, да.
С уважением, Новиков Алексей.
Страницы: 1
Читают тему (гостей: 1)