Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];

Вниз

Быстрое заполнение 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.043 c
2-1182345508
авыф
2007-06-20 17:18
2007.07.15
SpeedButton


9-1156602072
Heroes
2006-08-26 18:21
2007.07.15
Помогите пожалуйста очень надо!


6-1165409022
Andrei
2006-12-06 15:43
2007.07.15
TTcpServer и TUdpSocket блокируют порт


15-1181950866
ShadowGM
2007-06-16 03:41
2007.07.15
Буффер обмена


15-1181899007
Gydvin
2007-06-15 13:16
2007.07.15
Windows 2003 server вход под своей учетной записью





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский