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

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


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

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

по мануалу обычно подключают модуль DBGridEhImpExp
и пишут
Код: pascal
1.
SaveDBGridEhToExportFile(TDBGridEhExportAsXlsx,ТвойDbgridEh,'c:\temp.xlsx',true);
...
Рейтинг: 0 / 0
25.01.2017, 13:21
    #39391057
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт из EhLib в Excel
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
27.01.2017, 08:12
    #39392652
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт из EhLib в Excel
Код: pascal
1.
MemTableEh.FetchAllOnOpen:=true

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

и еще раз спасибо - работает!!!
...
Рейтинг: 0 / 0
29.01.2017, 06:43
    #39393936
Alexander2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт из EhLib в Excel
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
30.01.2017, 08:18
    #39394345
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт из EhLib в Excel
Alexander2,

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

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


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