Калі трэба ў Delphi з ZEXMLSS выкарыстоўваць функцыі экспарту/імпарту ў/з запакаваны/ага ods/xlsx
(з версіі 0.0.6)
-
Па змаўчанні ў Delphi функцыі SaveXmlssToODFS, ReadODFS, SaveXmlssToXLSX і ReadXLSX недаступныя. Каб іх выкарыстоўваць, трэба:
- прачытаць /delphizip/readme.txt (ды і /readme.by таксама)
-
(да ўсталёўкі) трэба скапіяваць з /delphizip/патрэбны_пакавальнік у /src/ усе файлы (замяніць). Пакуль можна выкарыстоўваць:
- Пасля правільнай усталёўкі функцыі будуць даступныя
- (Толькі запіс) Можна выкарыстоўваць функцыі для экспарту ў запакаваныя 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;
|