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

Вниз

Перевод информации из файла .xls в stringgrid   Найти похожие ветки 

 
sashok   (2004-01-27 17:55) [0]

У меня возник такой вапрос:
мне нужно каким-то образом быстро перевести инфу из excel"евского файла в stringgrid. Что значит быстро - если я перевожу по ячейке, то это очень долго (поскольку у меня в этом файлике около 6*21000 ячеек).
Как бы мне это сделать?


 
Тимохов   (2004-01-27 18:05) [1]

1. Разбирать формат хранения файла в Excel (гиблое дело).
2. Сохранить в excel в виде текста. Потом разбирать.
3. Через оле.
4. Еще есть DDE (не знаю что это)

Все.


 
sashok   (2004-01-27 18:09) [2]

Через "оле" - это как?


 
Тимохов   (2004-01-27 18:12) [3]


> инфу из excel"евского файла в stringgrid. Что значит быстро
> - если я перевожу по ячейке, то это очень долго (поскольку
> у меня в этом файлике около 6*21000 ячеек).

А ты сам-то как это делаешь?
Не через OLE?


 
MadGhost   (2004-01-27 18:17) [4]

да луче все таки в cvs файл из екселя перевести, а там уж парсить проще простого


 
sashok   (2004-01-27 18:20) [5]

Я беру ExcelApplication и ExcelWorkBook, подключаю, далее чтото типа:
While ExcelWorkBook1.Cells.Items[i,1]<>"" then
Begin
For j:=1 to 6 do
StringGrid1.Cells[j,i-1]:=ExcelWorkBook1.Cells.Items[i,j].Value;
inc(i);
End;


 
sashok   (2004-01-27 18:40) [6]


> да луче все таки в cvs файл из екселя перевести, а там уж
> парсить проще простого

а поточнее можно?


 
Тимохов   (2004-01-27 18:43) [7]


> Я беру ExcelApplication и ExcelWorkBook, подключаю, далее
> чтото типа:
> While ExcelWorkBook1.Cells.Items[i,1]<>"" then
> Begin
> For j:=1 to 6 do
> StringGrid1.Cells[j,i-1]:=ExcelWorkBook1.Cells.Items[i,j].Value;
> inc(i);
> End;

Это и есть OLE :))) Только скрыто от тебя. Это самый медленный путь.


> > да луче все таки в cvs файл из екселя перевести, а там
> уж
> > парсить проще простого

Открой excel попробуй сохраниться в разных форматах (там и туева хуча), выбери, что тебе больше нарвиться и парси...


 
MadGhost   (2004-01-27 18:45) [8]

cvs эт формат где каждая ячейка будет разделена запятой, или ; точкой с запятой, так что распарсить проблем не составит


 
sashok   (2004-01-27 18:45) [9]

Ладненько, это я уже пробую.
Пасиба за ответы



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

Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.025 c
8-16534
dzmitry_
2003-09-28 11:52
2004.02.06
текст в Bitmap


6-16553
Gennady
2003-12-03 10:35
2004.02.06
Передача TStream между TIdTCPServer и TIdTCPClient.


14-16690
olookin
2004-01-16 18:10
2004.02.06
За -30 в Америке... Вам их жаль?


14-16640
RealRascal
2004-01-14 16:21
2004.02.06
Abstract Error


14-16608
Стесняюсь...
2004-01-02 00:57
2004.02.06
Пачеко





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