![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстрое заполнение Excel-я. Как?
DevilDevil © (2007-06-18 17:59:00)Столкнулся с проблемой медленного заполнения строк Excel-я, даже если не изменять размеры/цвета/шрифты.
Не подскажите более быстрый способ?
Заранее спасибо.
DevilDevil (2007-06-21 10:13:00) [1]мда.
Данные в моей таблице обновляются.
Если пользователь экпортировал часть таблицы в Excel, то соответственно в Excel-е эта часть должна обновляться.
Вопрос открыт:
Как мне наиболее правильно отловить момент закрытия Excel-я пользователем (не прибегая кtry...except) ?
YurikGL (2007-06-20 21:11:00) [2]
> Мне нужно будет периодически обновлять данные в Excel-e.
> ..
Ужас какой... пользователь сам должен командовать "обновить данные"... я бы убил создателя программы, которая вдруг полезет в Excel который я открыл и будет там что-то делать.
DevilDevil (2007-06-20 16:50:00) [3]Вот какой вопрос...
Мне нужно будет периодически обновлять данные в Excel-e...
Как мне наиболее правильно отловить момент закрытия Excel-я пользователем (не прибегая кtry...except) ?
Anatoly Podgoretsky (2007-06-19 14:58:00) [4]> DevilDevil (19.06.2007 14:21:16) [16]
Я не могу ничего сказать о книге, про которую я вообще ничего не слышал.
Но по поводу быстрого заполнения на КД вполне адекватная информация.
Мне мало дало лишь потому что меня OLE не интересовал, а там все примеры по нему,
интересовал исключительно COM и DOM
DevilDevil (2007-06-19 14:21:00) [5]> Anatoly Podgoretsky © (19.06.07 14:00) [15]
А я начинал работу с Экселем со чтения книги Василия Корнякова. Она кстати сейчас рядом открытая лежит.
Просто там не описано "Быстрое заполнение Excel-я"
Anatoly Podgoretsky (2007-06-19 14:00:00) [6]> DevilDevil (19.06.2007 13:49:14) [14]
Я начинал работу с Экселем со чтения статей с этого сайта и они дали мне нормальный начальный толчок, правда маленький.
И поиск в русском сегменте Интернет показал, что лучше этих статей ничего нет.
Более качественная информация только у Микрософт, но как старт пойдет и с КД
DevilDevil (2007-06-19 13:49:00) [7]> Anatoly Podgoretsky © (19.06.07 13:40) [12]
Анатолий, поверьте, их действительно очень много.
> Amoeba © (19.06.07 13:40) [13]
Спасибо, вопрос скорее всего закрыт.
Спасибо всем участникам.
Amoeba (2007-06-19 13:40:00) [8]
> DevilDevil © (19.06.07 13:30) [11]
>
> там дофига статей. Какую именно?
>
"По волнам интеграции"
Anatoly Podgoretsky (2007-06-19 13:40:00) [9]А ты не все читай, а только по интеграции с экселем и их число будет достаточно малым, меньше 10
DevilDevil (2007-06-19 13:30:00) [10]там дофига статей. Какую именно?
Anatoly Podgoretsky (2007-06-19 12:57:00) [11]Ты статью прочитал, там есть нужные тебе ответы.
DevilDevil (2007-06-19 12:27:00) [12]почитал... честно говоря остались вопросы.
Пожалуйста, ответте на 7, вопросы лёгкие, вы мне существенно облегчите жизнь.
Заранее спасибо.
jack128 (2007-06-18 22:14:00) [13]DevilDevil © (18.06.07 19:02) [7]
почитай статейку на королевстве дельфи (delphikingdom.ru) многие вопросы отпадут...
DevilDevil (2007-06-18 19:02:00) [14]хммм. недопонял.
1) x = xx, а y = yy ?
2) как заполнять ArrayV ?
3) как можно определить, закрылся ли Excel, с которым мы только что работали ?
fdsa (2007-06-18 18:41:00) [15]на делфи так:
ArrayV := VarArrayCreate([1, x, 1, y],
VarVariant);
заполняем ArrayV
затем
Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];
Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + xx, BeginCol +yy];
Rng := WorkBook.WorkSheets[1].Range[Cell1, Cell2];
Rng.Value := ArrayV;
З.Ы.
Cell1, Cell2, Rng, ArrayV : Variant;
DevilDevil (2007-06-18 18:35:00) [16]> fdsa (18.06.07 18:28) [4]
Thanks
Кто еще? Я что то слышал про массивы вариантов
fdsa (2007-06-18 18:28:00) [17]перед занесением данных в ексель делай
ExcelApp.Application.EnableEvents := false;
после занесения
ExcelApp.Application.EnableEvents := true;
это несколько ускорит вывод информации.
DevilDevil (2007-06-18 18:26:00) [18]ну т.е.:
Variant XLCell = Row.OlePropertyGet(i);
DevilDevil (2007-06-18 18:25:00) [19]Ну примерно так:
Variant Row = Sheet.OlePropertyGet("Rows", j);
for (int i = 1; i <= ColsWidth; i++)
{
Variant XLCell = Sheet.OlePropertyGet("Cells", j, i);
XLCell.OlePropertySet("Value", WideString(СТРОКОВАЯ ПЕРЕМЕННАЯ));
}
P.S. это Builder :)
Style (2007-06-18 18:13:00) [20]заполнение строк excel-я - понятие абстрактное
ты экспорт данных делаешь чтоле???
Как ты с ним пытаешся работать?