Зарегистрироваться | Поиск |
Результаты опроса: Какой способ для связи Axapta с Excel вы предпочитаете? | |||
Класс ComExcelDocument_RU |
![]() ![]() ![]() ![]() |
17 | 58.62% |
Общий способ для COM-объектов типа: COM c = new COM("Excel.Application") |
![]() ![]() ![]() ![]() |
5 | 17.24% |
Семейство системных классов SysExcel... |
![]() ![]() ![]() ![]() |
5 | 17.24% |
Другое (поясните, пожалуйста) |
![]() ![]() ![]() ![]() |
2 | 6.90% |
Голосовавшие: 29. Вы ещё не голосовали в этом опросе |
|
Опции темы |
|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от Recoilme
2 постами выше - тоже самое, только без лишних иттераций: "последующим окрытием экземпляра Excel и импорта в него этого файла."
![]() итак... объясняю почему не все ёгурты одинаково полезны... получая сразу файл с расширением .xls ты предоставляешь excelю самому разбираться с вопросом форматов данных... а excel обладает чрезвычайно бурной фантазией... и число 12.02 легко преобразует при открытии файла в запись типа "12 feb 00" используя же импорт из .csv ты заранее программно определяешь правила импорта и определения форматов... вне зависимости от настроек excel, которые легко могут быть изменены пользователями ( некоторые это умеют делать ) ![]() к слову... во времена, когда ложки были деревянными, при их изготовлении существовало некое разделение труда. Один "бил баклуши", а второй из них вырезал ложки... так вот первый тоже видимо считал, что работа второго, это всего лишь вторая итерация ![]() а вообще... как велика магия слов... итерация... дизъюнкция... триангуляция... скажешь... и ощущаешь себя глубоко в теме ![]() кстати... ИТЕРАЦИЯ (от лат. iteratio - повторение) - повторное применение какой-либо математической операции. Последний раз редактировалось simply2double; 06.06.2006 в 09:20. |
|
![]() |
#2 |
Moderator
|
Цитата:
Сообщение от simply2double
получая сразу файл с расширением .xls ты предоставляешь excelю самому разбираться с вопросом форматов данных... а excel обладает чрезвычайно бурной фантазией... и число 12.02 легко преобразует при открытии файла в запись типа "12 feb 00"
Переливали какие-то данные по складу. Всякие там коды номенклатуры - текстовые значения, состоящие из цифр и знаков препинания. Так вот, строка "19 13008/3" попала на оператор VBA вида Range("A1") = "19 13008/3". Можете скопировать этот оператор в окно отладки Эксель и нажать Enter - посмотрите, что будет в ячейке A1 активного листа - число 4355. Неплохо, правда? ![]() (если лениво в окно отладки, то можно сделать ручную имитацию - введите в ячейку А1 символы: =19 13008/3 и нажмите Enter). Это дробь! (как выяснилось при анализе), т.е. эта "услужливая дрянь" (как мы иногда ласково называем любимый Excel) проинтерпретировала эту строку как 19 целых 13008 третьих. И надо же - результат деления 13008 на 3 = ровно 4336. 4336 + 19 = 4355. Такие дела... |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от Gustav
Это еще цветочки. У меня случай был ваще - хоть стой, хоть падай.
... ![]() PS Одно из основных правил "хорошего тона"... контроль за ходом исполнения кода... в компонентном программировании.. а уж тем более применительно к технологиям OLE сложно реализовывать... а порой и лениво... Вот и в данном случае кажущаяся простота реализации обмена с Excel вводит в заблуждение. ![]() Последний раз редактировалось simply2double; 06.06.2006 в 15:01. |
|
Теги |
excel |
|
![]() |
||||
Тема | Ответов | |||
Произошла ошибка связи с Microsoft Axapta Debugger. | 4 | |||
Сводная таблица из Axapta | 5 | |||
Axapta программирует Excel на VBA | 10 | |||
eksport iz excel v axapta | 1 | |||
Введение в Аксапту | 0 |
|