1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Delphi + Excel

Тема в разделе "Программирование", создана пользователем qwertEHOK, 18.12.12.

  1. qwertEHOK

    qwertEHOK Активный участник

    2.388
    1
    Delphi XE
    MS Excel 2003
    MS SQL 2005

    У клиентов WinXP+MS Excel 2003

    Задача - вывести набор данных, получаемых запросом, в эксель. количество данных зависит от интервала дат, задаваемых пользователем.
    данных за месяц - примерно 9к строк

    пробовал 3 варианта
    1. перебором
    2. через массив
    3. сторонний компонент

    1 вариант. самый длительный, но тут можно хоть прогресбар для пользователя сделать. очень удобно, но долго, но удобно

    2 вариант. побыстрее, но на слабой машине это выглядит как "тормоза, тормоза, тормоза, ой эксель".

    3 вариант. TXLSFile. Отличный вариант. Пользователь нажимает кнопку, пара секунд и открывается экселька с данными. Но компонент платный.


    Подскажите еще варианты есть?
     
  2. sp_r00t

    sp_r00t Активный участник

    24.924
    1
    3-й вариант полностью соответствует Delphi Way.
    Его и надо юзать
     
  3. qwertEHOK

    qwertEHOK Активный участник

    2.388
    1
    :shuffle: оно то не купленное (есть исходники)
    я так попробовал, для теста

    может выводить по 100 строк в массив и грузить? и пользователю видно и быстро..

    в датасетах есть еще такое
     
  4. sp_r00t

    sp_r00t Активный участник

    24.924
    1
    Ну если жаба душит, то можно рерайт исходников сделать и усё:d

    Ну не уверен, что получится быстрее... А сама методика отдаёт колхозом:shuffle:
     
  5. 1777

    1777 Активный участник

    6.532
    12
    1. Ексель умеет csv и xml, ms sql тоже умеет с применением спец команд и хранимок
    2. Ексель умеет подключаться к внешним источникам данных - написать хранимку и ее вызвать из екселя, только дописать передачу параметров на vb

    Но странно, что медленно, через ком объект екселя я вроде делал вывод 7 тыс записей - было быстро, вставка через range, а не cell

    вот нашел, весь массив целиком пихается в range такого же размера, код на C#

     
  6. Pasha

    Pasha Активный участник

    4.448
    0
    Это будет быстрее, чем по одной строке, и заодно можно прогресс-бар приделать
     
  7. sp_r00t

    sp_r00t Активный участник

    24.924
    1
    А с чем это связано?
    Я в секретах работы делфей просто не очень шарю. Получается, что для "оптовой" передачи данных не требуется промежуточных контейнеров в памяти?
     
  8. VK

    VK Активный участник

    1.867
    0
    Посмотрите в сторону XL Report
     
  9. qwertEHOK

    qwertEHOK Активный участник

    2.388
    1

    Вот это такое же, но бесплатно
     
  10. gerodoth

    gerodoth Активный участник

    8.184
    42
    [off] а вы не говорили клиентам что они лет на 10 от жизни отстали?[/off]
     
  11. Devillio

    Devillio Активный участник

    1.192
    0
    html файлы хорошо и быстро открываются Экселем. Можно файлик текстовый с тегами выгрузить - дешево, сердито и с прогресс-баром.
     
  12. qwertEHOK

    qwertEHOK Активный участник

    2.388
    1
    а можно сразу на принтер печатать :)
    можно сделать клиент-серверное приложение, где файлик будет на сервере формироваться

    :) можно все


    Пользователи разбили мои мечты о скорости. Они сказали что самый первый способ самый хороший :)
    Я остальные кнопки на форме сделал невидимыми(одна кнопка - 1 вариант выдачи) и отдал приложение им :)))))
     
  13. Andyshark

    Andyshark Участник

    118
    0
    Сорь за офф - но когда народ поймет что выбор системы и языка определяет то сколько чел заработает? пофиг на чем, даже на Делфи, VBA или консоли. Лишь бы клиента удовлетворяло. А распальцовка - это от возвраста. Потом пройдет.

    ---------- Сообщение добавлено 03.02.2013 23:08 ----------

    Извиняюсь, а вы мало зарабатываете что штуку жалко? Или сами за бабки а остальным платить не надо? Купите несколько компонентов платных, для СНГ почти всегда цены ниже в разы. В чем проблема? Думаете они вам не помогут в дальнейшем?

    P.S. Себе покупал (попробую на память слету) - FIBы, TXLSFile, FastReport, EhLib, TurboDelphi. Честно считаю что вложение достаточно быстро окупилось. Во всяком случае ко мне претензий по нарушению авторства мало кто может предьявить. А недавно взял еще и Артистир (это для шаблонов Джумлы). одна разработка и покупка окупается. Зато гемороя мало. А время дорого. может стоит подумать в таком ключе?
     
  14. The Last Winged

    The Last Winged Активный участник

    11.862
    48
    Покупка дешевых компонентов (до $200) практически всегда дешевле, чем самостоятельная разработка.
    Самое главное, чтобы компонент был популярным, иначе он наверняка будет мусорного качества.
     
  15. gerodoth

    gerodoth Активный участник

    8.184
    42
    [off]суть в том, что ХП скоро перестанет поддерживаться, а значит если они не совсем слоупоки ее менять, а значит надо или сразу разрабатывать ПО под новую систему, или предусмотреть это[/off]
     
  16. qwertEHOK

    qwertEHOK Активный участник

    2.388
    1
    Был бы я профессиональным программистом да еще на фрилансе - купил бы конечно.
    А пока я занимаюсь тем что от случая к случаю клепаю отчетики - буду использовать или стандартное или бесплатное

    Использование ХП не помеха моему софту (как и разный офис) :)
    Я проверял у себя под вин7 и на 2003,2007,2013 офисе - работает.
    Софт у меня как топор, а ему все равно какое дерево рубить.
     
  17. The Last Winged

    The Last Winged Активный участник

    11.862
    48
    Купили как-то суровым сибирским лесорубам японскую бензопилу.
    Собрались в кружок лесорубы, решили ее испытать.
    Завели ее, подсунули ей деревце.
    «Вжик» — сказала японская пила.
    «У, ***...» — сказали лесорубы.
    Подсунули ей деревце потолще. «Вж-ж-жик!» — сказала пила.
    «Ух, ***!» — сказали лесорубы.
    Подсунули ей толстенный кедр. «ВЖ-Ж-Ж-Ж-Ж-Ж-Ж-ЖИК!!!» — сказала пила.
    «Ух ты, ***!!» — сказали лесорубы.
    Подсунули ей железный лом. «КРЯК!» — сказала пила.
    «Ага, ***!!!» — укоризненно сказали суровые сибирские лесорубы! И ушли рубить лес топорами…