by
ru
en
by

Avemey

logo
ФайлыГлавнаяСсылкиФотографииАниме

Если нужно в Delphi с ZEXMLSS использовать функции экспорта/импорта в/из запакованный ods/xlsx


(начиная с 0.0.6)
  • По умолчанию в Delphi функции SaveXmlssToODFS, ReadODFS, SaveXmlssToXLSX и ReadXLSX недоступны. Чтобы их использовать, нужно:
    1. прочитать /delphizip/readme.txt (да и /readme.txt)
    2. (до установки) нужно скопировать из /delphizip/нужный_упаковщик в /src/ все файлы (заменить). Пока можно использовать:
    3. После правильной установки функции будут доступны
  • (Только запись) Можно использовать функции для экспорта в запакованные ODS и XLSX с использованием zeZippy: ExportXmlssToODFS и ExportXmlssToXLSX. Для этого нужно подключить модуль zeZyppy и модуль обёртки нужного упаковщика (перед этим необходимо установить нужный упаковщик):
    • zeZippyZipMaster.pas: TZipMaster by www.delphizip.org
    • zeZippyXE2.pas: Delphi XE2 zip (System.Zip TZipFile)
    • zeZippyJCL7z.pas: www.7-zip.org DLL via wrapper by jcl.sf.net
    • zeZippyAB.pas: TurboPower Abbrevia
    • по аналогии можно написать обёртку над другими упаковщиками

    Пример экспорта в ods и xlsx:
    //uses zexmlss, zeodfs, zexmlssutils, zsspxml, zexlsx, zeZippy,
    // zeZippyAB {или zeZippyZipMaster/zeZippyXE2/zeZippyJCL7z - выбрать по вкусу};
    procedure TForm1.btnExportClick(Sender: TObject);
    var
      tz: TZEXMLSS;
      i, j: integer;
      TextConverter: TAnsiToCPConverter;
    
    begin
      TextConverter := nil;
      {$IFNDEF FPC}
        {$IF CompilerVersion < 20} // < RAD Studio 2009
      TextConverter := @AnsiToUtf8;
        {$IFEND}
      {$ENDIF}
    
      tz := TZEXMLSS.Create(nil);
      try
        tz.Sheets.Count := 1;
        tz.Sheets[0].Title := 'zeZippy example';
        with tz.Sheets[0] do
        begin
          RowCount := 20;
          ColCount := 20;
          for i := 0 to RowCount - 1 do
          for j := 0 to ColCount - 1 do
          begin
            Cell[j, i].CellType := ZENumber;
            Cell[j, i].Data := IntToStr(i * j);
          end;
        end;
    
        //Экспорт в xlsx
        ExportXmlssToXLSX(tz, {какой-то путь}'zezippytst.xlsx', [], [], nil, 'UTF-8');
        //Экспорт в ods
        ExportXmlssToODFS(tz, {какой-то путь}'zezippytst.ods', [], [], nil, 'UTF-8');
      finally
        tz.free();
      end;  
    end;   
    
ФайлыГлавнаяСсылкиФотографииАниме

Copyright © 2006-2012 Неборак Руслан Владимирович