Export в Excel из StringGrid

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
alexkam
постоялец
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Export в Excel из StringGrid

Сообщение alexkam »

Кто-нибудь сталкивался с такой задачей в Lazarus?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Сталкивались :wink:
Самый простой способ, который я использую это создание документа HTML с необходимой таблицей и сохранение его в формате .xls....
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Mr.Smart писал(а):сохранение его в формате .xls

только не "в формате", а "с расширением имени файла" :wink:
Вот еще можно попробовать http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/fpspreadsheet.tar.gz?view=tar
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

v-t-l писал(а):Вот еще можно попробовать

Мне понравились компоненты.
Функционала там пока конечно маловато. Но задел очень хороший.
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

Mr.Smart писал(а):Сталкивались :wink:
Самый простой способ, который я использую это создание документа HTML с необходимой таблицей и сохранение его в формате .xls....

+1. Только Ексель 2007 постоянно выдает предупреждение, мол формат файла ему не сильно нравится, но открывает :)
alexkam
постоялец
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Сообщение alexkam »

v-t-l писал(а):
Mr.Smart писал(а):сохранение его в формате .xls

только не "в формате", а "с расширением имени файла" :wink:
Вот еще можно попробовать http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/fpspreadsheet.tar.gz?view=tar


Получилось:

var
rWorkBook : TsWorkbook;
rWorkSheet : TsWorksheet;
WorkDir: string;
i,j: Integer;
begin
WorkDir := ExtractFilePath(ParamStr(0));
rWorkBook := TsWorkbook.Create;
rWorkSheet := rWorkBook.AddWorksheet('Report');
try
with sGrid do
for i := 0 to ColCount - 1 do
for j := 0 to RowCount - 1 do
begin
if j = 0 then
rWorksheet.WriteUTF8Text(j, i, Columns.Items[i].Title.Caption)
else
begin
rWorksheet.WriteUTF8Text(j, i, Cells[i, j]);
end;
end;
rWorkbook.WriteToFile(WorkDir + 'report.xls', sfExcel8, True);
finally
rWorkbook.Free;
end;


Хотелось бы выводить еще цвет ячеек и размер стринггрида.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

alexkam писал(а):Хотелось бы выводить еще цвет ячеек и размер стринггрида.

Как я понял - это ещё не реализовано.
weirdie
незнакомец
Сообщения: 3
Зарегистрирован: 12.07.2010 13:29:35

Сообщение weirdie »

fpspreadsheet-visual
При установке написано:
/home/weirdie/Загрузки/fpspreadsheet/fpspreadsheetgrid.pas(164,15) Error: Identifier not found "SetCells"
и еще 3 таких же в других строках, а также по поводу GetCells
Как победить ошибку, если оно всё есть?
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Возможно проблема в расхождении версий LCL (Lazarus).
weirdie
незнакомец
Сообщения: 3
Зарегистрирован: 12.07.2010 13:29:35

Сообщение weirdie »

v-t-l писал(а):Возможно проблема в расхождении версий LCL (Lazarus).

Скорее всего... Проблема исчезла после сноса Лазаря и установки свежего из репозитория. После этого всё установилось и пересобралось без проблем. Спасибо.
Ответить