Форум: "Потрепаться";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];
ВнизDelphi + Excel Найти похожие ветки
← →
Martyn (2002-04-08 15:34) [0]Добрый день всем!
Возникла смешная ситуация, даже не могу себе представить, с чем связана...:))))
Есть база (InterBase), по запросу строится прайс-лист, грузится COM-server Excel куда выбрасывается прайс, упаковывается в ZIP-архив и выбрасывается получателям....:)
Вопрос следущий: если в прайсе наименований меньше, чем 1365, то все отлично, а если больше, то при формировании файла price.xls доходит до 1365 позиции и на ней виснет мертво....
Кто мне расскажет, что это за число такое интересное - 1365...:)))
Буду признателен за инфу..
Игорь Мартынов.
← →
Alx2 (2002-04-08 15:55) [1]>Кто мне расскажет, что это за число такое
>интересное - 1365...:)))
1365 г. – 1369 г. КРЕСТОВЫЙ ПОХОД ПЕТРА I ЛУЗИНЬЯНА, КОРОЛЯ КИПРСКОГО :)
← →
Виктор Щербаков (2002-04-08 16:02) [2]Была когда-то в точноси такая же проблема. На каком-то по счету вызове метода Excel, он виснет. Предложить конструктивное решение проблемы никто не смог. Пришлось разбивать на несколько файлов меньших размеров.
← →
AFROLOV (2002-04-08 16:02) [3]А какой у тебя офис? У меня была та же проблема в 97. Послое перехода на 2000 все стало как надо. Короче это глюк от Microsoft. Таких сюрпризов в офисе полно. Попытайся ServicePack установить, может поможет.
← →
AFROLOV (2002-04-08 16:08) [4]Если идея Виктора Щербакова © верна(Excel падает после некоторого количества вызовов его методов), то подход может быть такой: делаем некоторое количество действий(их число значительно меньше критического), сохраняем результаты работы, закрываем Excel, снова запускаем Excel, продолжаем с ним работать.
← →
Виктор Щербаков (2002-04-08 16:14) [5]Хм. И у меня проблема была на 97-м офисе. Надо будет (ради интереса) попробовать 2000.
← →
Mike S (2002-04-08 16:43) [6]Windows 2000 SP2 Eng, Delphi 6 SP2, Office 97 SP2
>3800 строк = работает
← →
Deus (2002-04-08 17:14) [7]2Martyn:
А ты данные выгружаешь построчно или всё сразу.
У меня есть точно такая программа, и я там сначала подготавливал в памяти блок данных, копировал в буфер, а потом делал Paste в Excel. Так как она работает на сервере, то ничего страшного в порче буфера нет.
Всё работает ОК.
← →
Martyn (2002-04-09 10:04) [8]для Deus
Данные выгружаются построчно, офис 2000, винда 98, стояла NT - все было проще, но пришлось перейти на 98 в связи с отсутствием в NT USB-интерфейса...
← →
Deus (2002-04-09 10:15) [9]2Martyn:
Построчно выгружать большое кол-во строк - последнее дело. Попробуй, как я написал: через клипбоард. Могу кинуть кусок кода, если хочешь.
← →
Praco (2002-04-09 10:25) [10]Попробуй выгружать массивом:
ArrayData := VarArrayCreate([1,100,1,19], varVariant);
Cell1 := WorkBook.WorkSheets[1].Cells[n+5-vi+1, 1];
Cell2 := WorkBook.WorkSheets[1].Cells[n+5, 19];
Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];
Range.Value := ArrayData;
На Королевстве Дельфи есть несколько статей.
Правда, у меня и построчно не было проблем со строкой 1365. D3, Win 98, Excel 97. 3000~4000 строк
Были другие глюки, Excel не выгружался :))
← →
Martyn (2002-04-10 10:42) [11]2Praco:
То, что не выгружается Excel - это проблемв Win9x, в NT все выгружалось без проблем....
Попробую, может че и выйдет
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.576 c