Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.15;
Скачать: CL | DM;

Вниз

Быстрое заполнение Excel-я. Как?   Найти похожие ветки 

 
DevilDevil ©   (2007-06-18 17:59) [0]

Столкнулся с проблемой медленного заполнения строк Excel-я, даже если не изменять размеры/цвета/шрифты.

Не подскажите более быстрый способ?

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


 
Style ©   (2007-06-18 18:13) [1]

заполнение строк excel-я - понятие абстрактное

ты экспорт данных делаешь чтоле???

Как ты с ним пытаешся работать?


 
DevilDevil ©   (2007-06-18 18:25) [2]

Ну примерно так:

  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 :)


 
DevilDevil ©   (2007-06-18 18:26) [3]

ну т.е.:
  Variant XLCell = Row.OlePropertyGet(i);


 
fdsa   (2007-06-18 18:28) [4]

перед занесением данных в ексель делай
ExcelApp.Application.EnableEvents := false;
после занесения
ExcelApp.Application.EnableEvents := true;
это несколько ускорит вывод информации.


 
DevilDevil ©   (2007-06-18 18:35) [5]

> fdsa   (18.06.07 18:28) [4]
Thanks

Кто еще? Я что то слышал про массивы вариантов


 
fdsa   (2007-06-18 18:41) [6]

на делфи так:
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 19:02) [7]

хммм. недопонял.

1) x = xx, а y = yy ?
2) как заполнять ArrayV ?

3) как можно определить, закрылся ли Excel, с которым мы только что работали ?


 
jack128 ©   (2007-06-18 22:14) [8]

DevilDevil ©   (18.06.07 19:02) [7]
почитай статейку на королевстве дельфи (delphikingdom.ru) многие вопросы отпадут...


 
DevilDevil ©   (2007-06-19 12:27) [9]

почитал... честно говоря остались вопросы.

Пожалуйста, ответте на 7, вопросы лёгкие, вы мне существенно облегчите жизнь.

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


 
Anatoly Podgoretsky ©   (2007-06-19 12:57) [10]

Ты статью прочитал, там есть нужные тебе ответы.


 
DevilDevil ©   (2007-06-19 13:30) [11]

там дофига статей. Какую именно?


 
Anatoly Podgoretsky ©   (2007-06-19 13:40) [12]

А ты не все читай, а только по интеграции с экселем и их число будет достаточно малым, меньше 10


 
Amoeba ©   (2007-06-19 13:40) [13]


> DevilDevil ©   (19.06.07 13:30) [11]
>
> там дофига статей. Какую именно?
>

"По волнам интеграции"


 
DevilDevil ©   (2007-06-19 13:49) [14]

> Anatoly Podgoretsky ©   (19.06.07 13:40) [12]

Анатолий, поверьте, их действительно очень много.

> Amoeba ©   (19.06.07 13:40) [13]

Спасибо, вопрос скорее всего закрыт.

Спасибо всем участникам.


 
Anatoly Podgoretsky ©   (2007-06-19 14:00) [15]

> DevilDevil  (19.06.2007 13:49:14)  [14]

Я начинал работу с Экселем со чтения статей с этого сайта и они дали мне нормальный начальный толчок, правда маленький.
И поиск в русском сегменте Интернет показал, что лучше этих статей ничего нет.
Более качественная информация только у Микрософт, но как старт пойдет и с КД


 
DevilDevil ©   (2007-06-19 14:21) [16]

> Anatoly Podgoretsky ©   (19.06.07 14:00) [15]

А я начинал работу с Экселем со чтения книги Василия Корнякова. Она кстати сейчас рядом открытая лежит.

Просто там не описано "Быстрое заполнение Excel-я"


 
Anatoly Podgoretsky ©   (2007-06-19 14:58) [17]

> DevilDevil  (19.06.2007 14:21:16)  [16]

Я не могу ничего сказать о книге, про которую я вообще ничего не слышал.
Но по поводу быстрого заполнения на КД вполне адекватная информация.
Мне мало дало лишь потому что меня OLE не интересовал, а там все примеры по нему,
интересовал исключительно COM и DOM


 
DevilDevil ©   (2007-06-20 16:50) [18]

Вот какой вопрос...

Мне нужно будет периодически обновлять данные в Excel-e...

Как мне наиболее правильно отловить момент закрытия Excel-я пользователем (не прибегая к try...except) ?


 
YurikGL ©   (2007-06-20 21:11) [19]


> Мне нужно будет периодически обновлять данные в Excel-e.
> ..

Ужас какой... пользователь сам должен командовать "обновить данные"... я бы убил создателя программы, которая вдруг полезет в Excel который я открыл и будет там что-то делать.


 
DevilDevil ©   (2007-06-21 10:13) [20]

мда.

Данные в моей таблице обновляются.
Если пользователь экпортировал часть таблицы в Excel, то соответственно в Excel-е эта часть должна обновляться.

Вопрос открыт:

Как мне наиболее правильно отловить момент закрытия Excel-я пользователем (не прибегая к try...except) ?



Страницы: 1 вся ветка

Текущий архив: 2007.07.15;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.028 c
2-1182021036
CoTr
2007-06-16 23:10
2007.07.15
Определение координат мыши в наложениях Image:TImage


2-1182207062
matt
2007-06-19 02:51
2007.07.15
текстовые файлы


2-1182606161
Полный Чайник
2007-06-23 17:42
2007.07.15
описание директивы Stdcall


15-1181555277
Riply
2007-06-11 13:47
2007.07.15
Утилиты для работы с дисками.


2-1182599910
Ламер 2.Х
2007-06-23 15:58
2007.07.15
Дата