powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Экспорт из EhLib в Excel
9 сообщений из 9, страница 1 из 1
Экспорт из EhLib в Excel
    #39390728
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сломал голову в поисках как выглядят эти опции Options: TDBGridEhExportAsXlsxOptions

procedure ExportDBGridEhToXlsx(DBGridEh: TCustomDBGridEh; const FileName: String ; Options: TDBGridEhExportAsXlsxOptions; IsSaveAll: Boolean = True);


надо написать команду экспорта в эксель, но нигде не могу найти что же туда вводить.

ExportDBGridEhToXlsx(grd1,dlgSave1.FileName, ЧЕРТОВАЯ ОПЦИЯ!!! ,True);
...
Рейтинг: 0 / 0
Экспорт из EhLib в Excel
    #39390737
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander2,

по мануалу обычно подключают модуль DBGridEhImpExp
и пишут
Код: pascal
1.
SaveDBGridEhToExportFile(TDBGridEhExportAsXlsx,ТвойDbgridEh,'c:\temp.xlsx',true);
...
Рейтинг: 0 / 0
Экспорт из EhLib в Excel
    #39391057
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K,

Спасибо, это я тоже пробовал, не помогает (вернее, частично то оно работает, но только видимые в гриде строки - видно всего 33 строки, а в таблице более 1000 строк.

Нашел как вариант такое: [xlsxColoredEh] - аж в квадратные скобки надо

Код: pascal
1.
  ExportDBGridEhToXlsx(grd1,dlgSave1.FileName,[xlsxColoredEh],True);       //xlsxDataAsDisplayText,True);



но аналогичная проблема - экспортнула только видимые в текущий момент строки грида.

Попробовал извратиться - прогнал таблицу от начала до конца - сработала.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procedure TForm1.Button1Click(Sender: TObject);
var t: Integer;
begin
  MemTableEh2.First;
  while not MemTableEh2.Eof do
   begin
      t := MemTableEh2.FieldValues['Id'];
      MemTableEh2.Next;
   end;
  SaveDBGridEhToExportFile(TDBGridEhExportAsOLEXLS, grd1, 'h:\myresult.xlsx', true);
end;
...
Рейтинг: 0 / 0
Экспорт из EhLib в Excel
    #39392652
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
MemTableEh.FetchAllOnOpen:=true

пробовал?
...
Рейтинг: 0 / 0
Экспорт из EhLib в Excel
    #39393922
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K,

и еще раз спасибо - работает!!!
...
Рейтинг: 0 / 0
Экспорт из EhLib в Excel
    #39393936
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K,

хммм, все бы ничего, только вот вариант (5) сохранения в эксел файл русского текста приводит к кракозябрам вместо русского текста. Если на машине нет установленного Excel, то 6 вариант не должен сработать (хотя он то нормально русский язык доносит).

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
procedure TOffice.actExportXLSExecute(Sender: TObject);
var ExpClass:TDBGridEhExportClass;
    Ext:String;
begin
  SaveDialog1.FileName := 'file1';
  if (ActiveControl is TDBGridEh)
   then
    if SaveDialog1.Execute
     then
      begin
       case SaveDialog1.FilterIndex of
        1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
        2: begin ExpClass := TDBGridEhExportAsCSV; Ext  := 'csv'; end;
        3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
        4: begin ExpClass := TDBGridEhExportAsRTF; Ext  := 'rtf'; end;
        5: begin ExpClass := TDBGridEhExportAsXLS; Ext  := 'xls'; end;
        6: begin ExpClass := TDBGridEhExportAsOLEXLS; Ext :='xlsx'; end;
       else
         ExpClass := nil; Ext := '';
       end;
       if ExpClass <> nil
        then
         begin
          if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <> UpperCase(Ext)
           then SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
          SaveDBGridEhToExportFile(ExpClass,dbgOffice,SaveDialog1.FileName,True);
         end;
      end;
end;
...
Рейтинг: 0 / 0
Экспорт из EhLib в Excel
    #39394345
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander2,

DBGridEh создает Эксель-файл без установленного экселя.
Локаль пробовали менять в настройках компьютера?
...
Рейтинг: 0 / 0
Экспорт из EhLib в Excel
    #39395063
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K,

Пробовал - не помогает.
Кстати, подобный вопрос про экспорт русскоязычного текста так и остался с 2014 года неотвеченным на форуме EhLib.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Экспорт из EhLib в Excel
    #39620776
Sergey-2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так как же всетаки от этой напасти избавиться, я имею ввиду каракулей при экспорте в Excel?
такой в принципе глюк не маленький...
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Экспорт из EhLib в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]