AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

Результаты опроса: Какой способ для связи 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. Вы ещё не голосовали в этом опросе

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2006, 17:35   #21  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
2 AndyD
Кстати по повуду форматирования, а что мешает в текстовом файле форматировать текст и вообще писать формулы?
PHP код:
qwerty    =ОКРУГЛ(12,34345;2
Или Вы имели ввиду разделительные полосочки?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/

Последний раз редактировалось Recoilme; 02.06.2006 в 17:37.
Старый 02.06.2006, 17:49   #22  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Recoilme
Кстати по повуду форматирования, а что мешает в текстовом файле форматировать текст ?
А как форматировать в текстовом файле? Какие-то управляющие символы?
Старый 02.06.2006, 18:11   #23  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
если числа, простейший пример выше. если насчет линеечки рисовать - поищу пример. сходу не нашел, года 4 назад это было. Но не то чтоб совсем просто там. Писал в дос кодировке, а в заголовок пихал тэг аштиэмэльный, чтоб автоматом переконвертировал при открытии. И работало автоматом только в 2000.
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/
Старый 02.06.2006, 18:21   #24  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Recoilme
если числа, простейший пример выше. если насчет линеечки рисовать - поищу пример. сходу не нашел, года 4 назад это было. Но не то чтоб совсем просто там. Писал в дос кодировке, а в заголовок пихал тэг аштиэмэльный, чтоб автоматом переконвертировал при открытии. И работало автоматом только в 2000.
Спасибо. Я примерно понял. Специально не ищите (но если найдете, то, пожалуйста, покажите). Я чисто с позиций академического интереса спросил. А так меня с ADO уже не сдвинуть
Старый 05.06.2006, 10:32   #25  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от Bega
DOM, для ускорения навигации используется кэширование часто используемых узлов
Да согласен, кэширование поможет в навигации, но я пробывал, загрузка и сохранение очень медленные, может вы как нибудь и это ускорили, я просто баловался с SAXом загрузка куда быстрее происходила.
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 05.06.2006, 14:25   #26  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Сообщение от polygris
да было бы очень интересно посмотреть на эти классы. у меня сегодня как раз стала проблема выгрузки в excel

Пробуй... в проекте три класса, тестовая табличка, и два тестовых джоба. Один тестовую табличку записами заполняет, а второй вываливает эту табличку в excel.
Вложения
Тип файла: zip Table2Excel.zip (12.3 Кб, 195 просмотров)

Последний раз редактировалось simply2double; 05.06.2006 в 14:31.
За это сообщение автора поблагодарили: O.b. (1), Ivan Mischenko (1).
Старый 05.06.2006, 15:08   #27  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Сообщение от Recoilme
2 постами выше - тоже самое, только без лишних иттераций: "последующим окрытием экземпляра Excel и импорта в него этого файла."
программирование вообще штука весьма однообразная... максимум десяток-полтора конструкций... глядя со стороны особенно...


итак... объясняю почему не все ёгурты одинаково полезны...
получая сразу файл с расширением .xls ты предоставляешь excelю самому разбираться с вопросом форматов данных... а excel обладает чрезвычайно бурной фантазией... и число 12.02 легко преобразует при открытии файла в запись типа "12 feb 00"
используя же импорт из .csv ты заранее программно определяешь правила импорта и определения форматов... вне зависимости от настроек excel, которые легко могут быть изменены пользователями ( некоторые это умеют делать )

к слову... во времена, когда ложки были деревянными, при их изготовлении существовало некое разделение труда. Один "бил баклуши", а второй из них вырезал ложки... так вот первый тоже видимо считал, что работа второго, это всего лишь вторая итерация

а вообще... как велика магия слов... итерация... дизъюнкция... триангуляция... скажешь... и ощущаешь себя глубоко в теме

кстати...

ИТЕРАЦИЯ (от лат. iteratio - повторение) - повторное применение какой-либо математической операции.

Последний раз редактировалось simply2double; 06.06.2006 в 09:20.
Старый 06.06.2006, 08:23   #28  
Bega is offline
Bega
Участник
Аватар для Bega
 
382 / 444 (15) +++++++
Регистрация: 18.08.2005
Адрес: Москва
Цитата:
Сообщение от blokva
Да согласен, кэширование поможет в навигации, но я пробывал, загрузка и сохранение очень медленные, может вы как нибудь и это ускорили, я просто баловался с SAXом загрузка куда быстрее происходила.
Загрузку и сохранение конечно никак не ускоришь,но у нас вроде это не так много занимает.
Старый 06.06.2006, 13:38   #29  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от 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. Такие дела...
Старый 06.06.2006, 14:51   #30  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Сообщение от Gustav
Это еще цветочки. У меня случай был ваще - хоть стой, хоть падай.
...
Бывает... вот оттого и пришлось извернуца... сначала в excel дырку заточить.. а уж потом через нее данные прогнать... Однако скорость вывода от этого мало пострадала.


PS Одно из основных правил "хорошего тона"... контроль за ходом исполнения кода... в компонентном программировании.. а уж тем более применительно к технологиям OLE сложно реализовывать... а порой и лениво...

Вот и в данном случае кажущаяся простота реализации обмена с Excel вводит в заблуждение. Это точно... "услужливая дрянь" )))

Последний раз редактировалось simply2double; 06.06.2006 в 15:01.
Старый 06.06.2006, 14:58   #31  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Сообщение от Gustav
sorry, что забегаю поперек батьки в пекло , но не хотите ли попробовать подходец отсюда: Поговорим об ADO ? Там и туда, и обратно есть.
Кстати.. несмотря на мою просто сыновью любовь к технологии ADO еще со времен пописывания на С... я бы не советовал заморачиваться с ним при транспорте в Excel. Во-первых большой скоростью вывода похвалица нельзя... во-вторых придеца морочица с OLE DB провайдерами... то бишь они должны быть
Хотя в данном случае... на вкус и цвет.. как грица...
За это сообщение автора поблагодарили: Recoilme (2), Gustav (2).
Старый 06.06.2006, 15:36   #32  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от simply2double
Кстати.. несмотря на мою просто сыновью любовь к технологии ADO еще со времен пописывания на С... я бы не советовал заморачиваться с ним при транспорте в Excel. Во-первых большой скоростью вывода похвалица нельзя... во-вторых придеца морочица с OLE DB провайдерами... то бишь они должны быть
Ну, не знаю... Скорость, по-моему, вполне приличная... Она, может быть, не абсолютно рекордная среди всех методов, но если у меня 60 тысяч записей свалятся в Excel не за 2 минуты, а за 4 - я не сильно расстроюсь (как раз можно спокойно перекурить).

Зато несомненный плюс - контроль над типом экспортируемых данных: захотим строка 000333 появится в ячейке Excel в точности как 000333, а захотим - как число 333 (просто интеллигентно задавая тип поля, без каких-либо спец.тегов).

Зато второй несомненный плюс - вставка в Excel одним-единственным оператором - методом CopyFromRecordset объекта Range.
А по скорости как раз скорее больше Аксапта тормозит, пока данные для экспорта в цикле получает... ("2-4 минуты" - это длительность всего процесса экспорта: получение данных + копирование на рабочий лист) Кстати, CopyFromRecordset ничего общего с "копипастом" не имеет, буфер обмена никак не затрагивается... (во всяком случае, ничего такого не замечено).

Provider=Microsoft.Jet.OLEDB.4.0 - годится и для Excel, и для Access - и почти всегда имеется в распоряжении (по-моему, входит в состав стандартной поставки MDAC, хотя могу и ошибаться)
Старый 06.06.2006, 16:46   #33  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Сообщение от Gustav
Ну, не знаю... Скорость, по-моему, вполне приличная... Она, может быть, не абсолютно рекордная среди всех методов, но если у меня 60 тысяч записей свалятся в Excel не за 2 минуты, а за 4 - я не сильно расстроюсь (как раз можно спокойно перекурить).

Ради интереса поробывал сейчас выгрузить с помощью представленного выше класса 42000 записей... ( просто больше было лениво в табличку писать ) ... получилось 35 сек. правда у меня машинка хорошая... быстрая и памяти много...

Цитата:
Сообщение от Gustav

Provider=Microsoft.Jet.OLEDB.4.0 - годится и для Excel, и для Access - и почти всегда имеется в распоряжении (по-моему, входит в состав стандартной поставки MDAC, хотя могу и ошибаться)
Имелось ввиду то, что они должны быть доступны процессу транспорта... то бишь инсталированы... либо доступны по сети... а это дополнительный гимор... Я думаю, что когда просто выгружаешь в excel табличку... даже шаблон не нужно притягивать...

Последний раз редактировалось simply2double; 06.06.2006 в 17:00.
Старый 06.06.2006, 20:21   #34  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
2 mazzy
Сергей, можно Вас попросить перенести эту ветку в "Полезные материалы"? Она явно переросла "Курилку":
во-первых, здесь есть достойный проект,
во-вторых, по-моему, неплохое обсуждение
Спасибо.
Старый 06.06.2006, 21:11   #35  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Спасибо. Сделано.
__________________
полезное на axForum, github, vk, coub.
Старый 08.06.2006, 22:42   #36  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Коллеги,

у меня класс ComExcelDocument_RU был слегка подправлен внедренцами. А мне бы хотелось увидеть его "максимально-первоначально-оригинальную" версию (если конечно такой эталон существует в природе).

Как бы осуществить эту мою хотелку? Попросить у кого-нибудь из вас? Или перейти на какой-нибудь слой, отличный от USR? (Как?).

Заранее спасибо.

P.S.
2 AndyD: Персональное спасибо. Классно.
|||
V

Последний раз редактировалось Gustav; 09.06.2006 в 09:01.
Старый 08.06.2006, 23:16   #37  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
1. Пункт меню Сервис/Параметры. Закладка Разработка. Выберите в комбике Слой прикладных объектов - Все слои. Тогда у вас в AOT у элементов будет показываться в каких слоях есть изменения.
2. На интересующем вас элементе из контекстного меню выберите пункт Слои. Для этого элемента будет показываться несколько узлов - в соответствии с кол-вом слоев, в которых этот элемент изменялся. Выбрав соответствующий слой вы увидите все изменения из этого слоя и более низких.

Для ComExcelDocument_RU первый слой - dis. Так что смотрите код на нем.
__________________
Axapta v.3.0 sp5 kr2
Старый 09.06.2006, 09:02   #38  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Еще один инструментарий - контекстное меню элемента->пункт Add-Ins->подпункт "Обновление кода". В открывшемся окне можно просмотреть все методы (и не только методы) в разных слоях, в том числе их сравнение друг с другом
__________________
Axapta v.3.0 sp5 kr2
Теги
excel

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Произошла ошибка связи с Microsoft Axapta Debugger. vasiliy DAX: Программирование 4 22.10.2007 07:18
Сводная таблица из Axapta kashperuk DAX: База знаний и проекты 5 20.03.2007 09:06
Axapta программирует Excel на VBA Gustav DAX: База знаний и проекты 10 13.03.2006 11:42
eksport iz excel v axapta Ar4i777 DAX: Функционал 1 04.11.2004 09:46
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:15.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.