Главная страница
    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.49 MB
Время: 0.04 c
15-1181566501
ALEX36
2007-06-11 16:55
2007.07.15
Почему у меня не определяется flash ни на одном usb порте


3-1176958047
Xmen
2007-04-19 08:47
2007.07.15
Прокрутка в DBGrid


4-1170871502
Efir
2007-02-07 21:05
2007.07.15
Отловить клик мыши на форме


15-1181982999
cosinus
2007-06-16 12:36
2007.07.15
Вопрос по WSH и network...


4-1170839717
Vemer
2007-02-07 12:15
2007.07.15
Как создать с помощью WinApi полупрозрачное окно?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский