![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Просто в XLS... сбился с ног...
Svoja4ok © (2006-11-16 18:18:00)Господа, последняя надежда на вас!
Мне нужно сохранить данные в экзель, НО мне не нужно чтобы экзель запускался при этом, пишу в Д8 или Д2006.
Мне нужно просто создать на диске файл с расширением тхт и выбросить в него данные. Пробывал делать так:
procedure TForm3.N2Click(Sender: TObject);
var t: textfile;
i:integer;
begin
if savedialog1.Execute then
begin
assignfile(t, savedialog1.FileName);
rewrite(t);
for i:=1 to stringgrid1.ColCount-1 do
write(t, stringgrid1.cells[i,2],'ТАВ');
writeln(t);
for i:=1 to stringgrid1.ColCount-1 do
write(t, stringgrid1.cells[i,3],'ТАВ');
writeln(t);
write(t, label2.caption,'ТАВ',label3.caption,'ТАВ',label4.caption);
closefile(t);
Но не прокатило. Екзель (чтоб ему плохо было) не то что не расскидал данные по ячейкам, но и вместо букв одни каркузябрики... Сохранял с расширением xls.
Потом попробывал вот так:
uses .........., comobj,........
.......
procedure TForm3.N2Click(Sender: TObject);
var
i:integer;
XL:Variant;
begin
if savedialog1.Execute then
XL:= CreateOleObject('Excel.Application');
XL.WorkBooks.Add;
XL.WorkBooks[1].WorkSheets[1].Name:='test';
for i:=1 to stringgrid1.ColCount-1 do begin
XL.WorkBooks[1].Sheets[1].Cells[i,1]:=stringgrid1.cells[i,2];
XL.WorkBooks[1].Sheets[1].Cells[i,1]:=stringgrid1.cells[i,3];
XL.Workbooks[1].SaveAs(savedialog1.filename);
end;
XL.DisplayAlerts := False;
XL.Quit;
XL := Unassigned;
Но здесь возникла другая проблема: в Д8 и Д2006 из ComObj были полностью убраны фичи типа CreateOleObject и всё что к этому прилагается.
Подскажите пожалуйста, как реализовать мою нужду? Пожалуйста с подробными примерами кода...
Palladin (2006-11-18 15:20:00) [1]фиг знает, я использую d6
Svoja4ok (2006-11-18 15:12:00) [2]Palladin скачал с твоей страницы flexcell, но никак не пойму как его портировать в Д8 или Д2006? То как там написано в ридми не прокатывает: Just open it with file- open and click Install... Он мне просто говорит что чтобы открыть проект нужно его проапгрейдить, нажимаю ОК и он его открывает как простой проект... что сделать то нужно?
Anatoly Podgoretsky (2006-11-17 00:01:00) [3]Я приглашал на свой, у меня там есть статья по файлам Паскаля.
Palladin приглашал на свой, видимо то же есть что-то подобное.
Тебе надо немного почитать теорию.
Svoja4ok (2006-11-16 23:59:00) [4]на какие сайты?
нет, это понятно что нада символ табуляции, а что с иероглифами делать которые вместо букв?
Anatoly Podgoretsky (2006-11-16 23:38:00) [5]> Svoja4ok (16.11.2006 23:22:09) [9]
Ты сходил на сайты за статьями?
Ну и ответ тебе тоже дали, надо использовать в качестве разделителя символ ТАБ, а не строку.
Svoja4ok (2006-11-16 23:22:00) [6]palva
TAB- имел ввиду что ставил символ табуляции кнопкой таб, простите что забыл пояснить...
saxon (16.11.06 19:10) [3]
ой, простите конечно же - .csv
пробывал, разбивает, но опять проблема- иероглифы...
Anatoly Podgoretsky, а где она, если не секрет?
Anatoly Podgoretsky (2006-11-16 21:36:00) [7]> saxon (16.11.06 21:11) [6]
Говоришь загадками я не пойму про что ты.
Если про код, то подход нормальный, но реализация неправильная. Автору надо прочитать про работу с файлами.
palva (2006-11-16 21:14:00) [8]А зачем выводить 'TAB'? Это ведь трехсимвольная строка. A нужен, наверно, символ табуляции, а это будет #9
saxon (2006-11-16 21:11:00) [9]
> Anatoly Podgoretsky © (16.11.06 20:41) [5]
Пришел сюда из
http://delphimaster.ru/cgi-bin/forum.pl?last=50
а там это - основная (может уже была)
есть недостатки такого подхода :)
Anatoly Podgoretsky (2006-11-16 20:41:00) [10]> saxon (16.11.2006 19:10:03) [3]
Не играет роли в данном случае, в программе логическая ошибка
Anatoly Podgoretsky (2006-11-16 20:40:00) [11]> Svoja4ok (16.11.2006 18:18:00) [0]
Зайди на мою страницу
saxon (2006-11-16 19:10:00) [12]ой, простите конечно же - .csv
saxon (2006-11-16 19:09:00) [13]
> Сохранял с расширением xls.
.cvs?
Palladin (2006-11-16 18:57:00) [14]зайди на мою страницу