Зарегистрироваться | Сообщения за день | Поиск | Все разделы прочитаны |
Результаты опроса: Какой способ для связи 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 |
Moderator
|
Цитата:
Сообщение от UNRW
Если напрямую соединяться с базой, то отчет может не сформироваться - потаймауту от БД
![]() Цитата:
Сообщение от macklakov
...Еще можно из excel ...обратиться к аксе, как com- объекту
![]() |
|
![]() |
#2 |
Участник
|
Сохраняем файл Excel как XML, работаем напрямую с XML файлом, запускаем Excel только для просмотра. Работает очень быстро.
|
|
![]() |
#3 |
злыдень
|
Цитата:
Сообщение от Bega
Сохраняем файл Excel как XML, работаем напрямую с XML файлом, запускаем Excel только для просмотра. Работает очень быстро.
![]()
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
![]() |
#4 |
Участник
|
Вопрос выгрузки в Excel стоял всегда...
потому после нескольких экспериментов раз и навсегда для себя определил, что максимальная скорость выгрузки достигается предварительной выгрузкой в CSV с разделителями... с последующим окрытием экземпляра Excel и импорта в него этого файла. Если народу интересно, могу выложить пару классов, которые "напрямую" выгружает таблицы аксы в excel. От пользователя (программиста) требуется только определить группу полей в необходимом порядке вывода и заполнить таблицу данными. ![]() |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от simply2double
Вопрос выгрузки в Excel стоял всегда...
потому после нескольких экспериментов раз и навсегда для себя определил, что максимальная скорость выгрузки достигается предварительной выгрузкой в CSV с разделителями... с последующим окрытием экземпляра Excel и импорта в него этого файла. Если народу интересно, могу выложить пару классов, которые "напрямую" выгружает таблицы аксы в excel. От пользователя (программиста) требуется только определить группу полей в необходимом порядке вывода и заполнить таблицу данными. ![]() |
|
![]() |
#6 |
Moderator
|
Цитата:
Сообщение от polygris
у меня сегодня как раз стала проблема выгрузки в excel
![]() |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от polygris
да было бы очень интересно посмотреть на эти классы. у меня сегодня как раз стала проблема выгрузки в excel
Пробуй... в проекте три класса, тестовая табличка, и два тестовых джоба. Один тестовую табличку записами заполняет, а второй вываливает эту табличку в excel. Последний раз редактировалось simply2double; 05.06.2006 в 14:31. |
|
|
За это сообщение автора поблагодарили: O.b. (1), Ivan Mischenko (1). |
![]() |
#8 |
злыдень
|
Цитата:
Сообщение от simply2double
Вопрос выгрузки в Excel стоял всегда...
потому после нескольких экспериментов раз и навсегда для себя определил, что максимальная скорость выгрузки достигается предварительной выгрузкой в CSV с разделителями... с последующим окрытием экземпляра Excel и импорта в него этого файла. Если народу интересно, могу выложить пару классов, которые "напрямую" выгружает таблицы аксы в excel. От пользователя (программиста) требуется только определить группу полей в необходимом порядке вывода и заполнить таблицу данными. ![]()
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от Recoilme
2 постами выше - тоже самое, только без лишних иттераций: "последующим окрытием экземпляра Excel и импорта в него этого файла."
![]() итак... объясняю почему не все ёгурты одинаково полезны... получая сразу файл с расширением .xls ты предоставляешь excelю самому разбираться с вопросом форматов данных... а excel обладает чрезвычайно бурной фантазией... и число 12.02 легко преобразует при открытии файла в запись типа "12 feb 00" используя же импорт из .csv ты заранее программно определяешь правила импорта и определения форматов... вне зависимости от настроек excel, которые легко могут быть изменены пользователями ( некоторые это умеют делать ) ![]() к слову... во времена, когда ложки были деревянными, при их изготовлении существовало некое разделение труда. Один "бил баклуши", а второй из них вырезал ложки... так вот первый тоже видимо считал, что работа второго, это всего лишь вторая итерация ![]() а вообще... как велика магия слов... итерация... дизъюнкция... триангуляция... скажешь... и ощущаешь себя глубоко в теме ![]() кстати... ИТЕРАЦИЯ (от лат. iteratio - повторение) - повторное применение какой-либо математической операции. Последний раз редактировалось simply2double; 06.06.2006 в 09:20. |
|
![]() |
#10 |
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. Такие дела... |
|
![]() |
#11 |
Участник
|
Цитата:
Сообщение от Gustav
sorry, что забегаю поперек батьки в пекло
![]() ![]() Хотя в данном случае... на вкус и цвет.. как грица... |
|
|
За это сообщение автора поблагодарили: Recoilme (2), Gustav (2). |
![]() |
#12 |
Moderator
|
Цитата:
Сообщение от simply2double
Кстати.. несмотря на мою просто сыновью любовь к технологии ADO еще со времен пописывания на С... я бы не советовал заморачиваться с ним при транспорте в Excel. Во-первых большой скоростью вывода похвалица нельзя... во-вторых придеца морочица с OLE DB провайдерами... то бишь они должны быть
Зато несомненный плюс - контроль над типом экспортируемых данных: захотим строка 000333 появится в ячейке Excel в точности как 000333, а захотим - как число 333 (просто интеллигентно задавая тип поля, без каких-либо спец.тегов). Зато второй несомненный плюс - вставка в Excel одним-единственным оператором - методом CopyFromRecordset объекта Range. А по скорости как раз скорее больше Аксапта тормозит, пока данные для экспорта в цикле получает... ("2-4 минуты" - это длительность всего процесса экспорта: получение данных + копирование на рабочий лист) Кстати, CopyFromRecordset ничего общего с "копипастом" не имеет, буфер обмена никак не затрагивается... (во всяком случае, ничего такого не замечено). Provider=Microsoft.Jet.OLEDB.4.0 - годится и для Excel, и для Access - и почти всегда имеется в распоряжении (по-моему, входит в состав стандартной поставки MDAC, хотя могу и ошибаться) ![]() |
|
![]() |
#13 |
Пенсионер
|
Цитата:
Сообщение от Bega
Сохраняем файл Excel как XML, работаем напрямую с XML файлом, запускаем Excel только для просмотра. Работает очень быстро.
__________________
![]() А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
![]() |
#14 |
Участник
|
Цитата:
Сообщение от blokva
Какую модель используете DOM или SAX?
|
|
![]() |
#15 |
Пенсионер
|
Цитата:
Сообщение от Bega
DOM, для ускорения навигации используется кэширование часто используемых узлов
__________________
![]() А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
![]() |
#16 |
Участник
|
Цитата:
Сообщение от blokva
Да согласен, кэширование поможет в навигации, но я пробывал, загрузка и сохранение очень медленные, может вы как нибудь и это ускорили, я просто баловался с SAXом загрузка куда быстрее происходила.
|
|
Теги |
excel |
|
![]() |
||||
Тема | Ответов | |||
Произошла ошибка связи с Microsoft Axapta Debugger. | 4 | |||
Сводная таблица из Axapta | 5 | |||
Axapta программирует Excel на VBA | 10 | |||
eksport iz excel v axapta | 1 | |||
Введение в Аксапту | 0 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|