|
26.05.2006, 20:18 | #1 |
Участник
|
Если надо выгрузить в эксель 50000 строчек через оле, то это долго.
Гараздо быстрее если в HTML А потом екселем открыть. Есть формочка которая древобразно по спецификациям выводит состав изделия, оч. удобно Попробуйте, жду отзывов. |
|
05.06.2006, 11:31 | #2 |
Участник
|
Чего-то фигОвый ексельник она генерит.
|
|
06.06.2006, 05:55 | #3 |
Участник
|
Ну, почему же... Попробовал выводит табл. с 35 тыс. строк. Этим методом вывелось за 15 сек, а стандартным (с пом. табл. 370 Excel Buffer) вывелось за 640 сек. Скорость выше почти на 98%. Впечатляет. Можно строки выводить этим методом, а красоту наводить уже как обычно, через оле. :О)
|
|
15.06.2006, 09:39 | #4 |
Участник
|
Вот, воспользовавшись идеей Storkichа, сделал функции экспорта в Excel. Операция проходит быстрее более чем в 10 раз. Попробуйте...
[attachment=469:attachment] |
|
30.06.2006, 15:48 | #5 |
Участник
|
Цитата:
Единственный вопрос, у меня почему то вылетает ошибка Вызов функции _Open неудачен MS Office Excel вернул следующее сообщение: Метод _Open из класса Workbooks завершен не верно Эта ошибка вылетает если в триггере Sheet2 - OnAfterGetRecord() InsData(Number, 1, 'Хай №' + FORMAT(Number), TRUE, 20, 4); InsData(Number, 3, FORMAT(Number), FALSE, 10, 0); TRUE, 20, 4 не равны стандартным значениям т.е. FALSE, 10, 0 И при разборе xml в логах пишется вот это; Ошибка XML в "Настройка книги" Причина: Слишком много тегов Файл: C:\DOCUME~1\kas_leo\LOCALS~1\Temp\report.xml Группа: Workbook Тег: Styles Ошибка XML в "Таблица" Причина: Ошибочное значение Файл: C:\DOCUME~1\kas_leo\LOCALS~1\Temp\report.xml Группа: Row Тег: Cell Атрибут: StyleID Значение: s3_1 Ошибка XML в "Таблица" Причина: Ошибочное значение Файл: C:\DOCUME~1\kas_leo\LOCALS~1\Temp\report.xml Группа: Row Тег: Cell Атрибут: StyleID Значение: s3_1 Ошибка XML в "Таблица" Причина: Ошибочное значение Файл: C:\DOCUME~1\kas_leo\LOCALS~1\Temp\report.xml Группа: Row Тег: Cell Атрибут: StyleID Значение: s3_1 В чем проблема даже не могу представить, может поможете разобраться? С уважением LOGic |
|
04.07.2006, 06:41 | #6 |
Участник
|
Спасибо за обнаруженный баг
Выкладываю скорректированный вариант. |
|
04.07.2006, 14:00 | #7 |
Участник
|
Цитата:
Простите еще раз, но помогите разобраться в формулами или ткните носом где об этом можно прочитать. InsFormula(2, 3, '=SUM(R3C3:R' + FORMAT(Number) + 'C3)', TRUE, 12, 4); Как я понимаю вот здесь будет в ячейке формула ‘=Sum(R3C3:R3000C3)’, я не понимаю как же в Execl это трансформируется в =СУММ(C3:C3000) :-) Ну и наверное совсем нахальный вопрос. Не могли бы вы выложить пример формирования отчета в xls ну хотя бы простейшего бланка ну не знаю там, например приходный ордер. Учусь я только, спасибо за понимание. С уважением LOGic |
|
05.07.2006, 05:23 | #8 |
Участник
|
А вы в Excel запустите запись макроса и введите пару формул, скажем, =SUM($C$3:$C$5) и =SUM(C3:C5), остановите запись, нажмите Alt F11 и посмотрите как эти формулы записаны на VB.
Что касается примера, то я именно так и строю отчеты, как в выложенном репорте-примере: сначала заполняю врем. табл. Excel Buffer данными в триггерах OnAfterGetRecord соотв. элементов данных, затем уже в Report.OnPostReport (т.е. в самом конце работы отчета) ч/з ф-ю EndBook выгружаю данные из Excel Buffer в Excel и получаю соотв. перемен. Automation, после навожу окончательный глянец: рисую рамки, произвожу выравнивания, объединения и т.п. (это также есть в примере). Причем, мне пока не было необходимости выводить в Excel документы (типа ПКО), а только, скажем, остатки товаров и т.п. (которые и требуют долгого формирования). Такого рода операции по выводу документов лучше использовать ч/з шаблоны, как это делается в стандартном функционале Navision (см. напр. Form 12440). Мой же рабочий пример, боюсь, вас только больше запутает, т.к. я их реализовывал еще до окончания работы над данным пакетом функций. |
|
05.07.2006, 13:20 | #9 |
Участник
|
Цитата:
Твой способ THE BEST!. Синтаксис используемого языка? |
|
05.07.2006, 15:38 | #10 |
Участник
|
Еще бы хотелось узнать что за Codeunit 72113? А то эго в fob_ах нет.
|
|
06.07.2006, 18:29 | #11 |
Участник
|
|
|
06.07.2006, 11:35 | #12 |
Участник
|
Коллеги, я может сильно туплю, но расскажите как пользоваться этой замечательной, судя по описанию, тулзой?
|
|
06.07.2006, 16:41 | #13 |
Участник
|
Цитата:
TextFile.CREATETEMPFILE; FileName := TextFile.NAME + '.xls'; TextFile.CLOSE; InitXLS(FileName); тогда не будет пробле с повторным открытием файла. Всегда создается уникальный файл в TMP-папке пользователя. пользуйтесь очень удобно. |
|
06.07.2006, 18:17 | #14 |
Участник
|
Вай народу понравилось?
Я использую два способа для формирования отчетов 1) Легко программить, быстро работает, минимум формитирования. 2) Легко программить, медлено работает, но красиво. Главное легко программить. Ща соберу все фобы в один и попробую Доку написать. Пока всё бесплатно. |
|
06.07.2006, 18:48 | #15 |
Участник
|
Кому надо тот поправит под себя, всё на что ругается - то закометаривайте.
Советую обратить внимание на CU 72109 Пример работать не будет из за отсутсвия файлов, но логика такая Берется красивый екселевский файл и пробуете что нибудь в него впечатать. |
|