Форум: "Основная";
Текущий архив: 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