TODSDocument2 - Exemples

TODSDocument2 = class (TODSSpreadsheet)Interface de TODSDocument2Exemples de TODSDocument2

Création d'un fichier ODS en mode écriture en continu

uses System.ODSWriter2 ;

var doc:= TODSDocument2.Create(ODSSheetType.Writer) ;

// First sheet
var sheet1 := doc.SheetWriter[0];
sheet1.Name := "Strings & numbers";
var sheet2 := doc.AddSheetWriter("Dates & times");
// Column widths (digit) - before writing cells values
sheet1.ColumnWidth[0]:= 4;
sheet1.ColumnWidth[1]:= 2;
sheet1.ColumnWidth[2]:= 2;
// 2nd sheet
sheet2.ColumnWidth[0]:= 6;
sheet2.ColumnWidth[1]:= 3;
sheet2.ColumnWidth[2]:= 3;

// 1rst sheet writing
// 1rst line (Bold titles)
sheet1.Bold := true;
sheet1.WriteString("String");
sheet1.WriteString("Float");
sheet1.WriteString("Integer");
// 2nd line (Values)
sheet1.NewLine;
sheet1.Bold := false;
sheet1.WriteString("Hello world");
sheet1.WriteFloat(123.456);
sheet1.WriteInteger(789);

// 2nd sheet writing
// 1rst line (Bold titles)
sheet2.Bold := true;
sheet2.WriteString("Dates & times");
sheet2.WriteString("Date");
sheet2.WriteString("Time");
// 2nd line (Values)
sheet2.NewLine;
sheet2.Bold := false;
sheet2.WriteDateTime(Now);
sheet2.WriteDate(Now -1);
sheet2.WriteTime(13,52,13);

// Create the file
doc.ToZip("D:\temp\TestContinousWriting" + TODSDocument2.FileExtension);

Réponse HTTP pour téléchargement d'un fichier ODS créé en mode écriture en continu

uses System.Net,System.ODSWriter2;

// Spreadsheet writing
var writer := TODSDocument2.Create(ODSSheetType.Writer);
var sheet := writer.SheetWriter[0];
sheet.WriteString("A1");
// Web response
var fileName := "TestHTTPResponse" + writer.FileExtension;
WebResponse.Header['Content-Disposition']:='attachment; filename="'+ fileName + '"';
WebResponse.ContentData := writer.ToZipData;
WebResponse.ContentType := writer.MimeType;

Création d'un fichier ODS en mode écriture par cellule

uses System.ODSWriter2;

var doc := TODSDocument2.Create ;

// First sheet with string and number values
var sheet := doc.Sheet[0];
sheet.Name := "Strings & numbers";
sheet.ColumnWidth[0]:= 4;
sheet.ColumnWidth[1]:= 2;
sheet.ColumnWidth[2]:= 2;
// Titles
var cell := sheet.Cell[0,0];
cell.SetString("String");
cell.SetStyleBold(true);
cell := sheet.Cell[1,0];
cell.SetString("Float");
cell.SetStyleBold(true);
cell := sheet.Cell[2,0];
cell.SetString("Integer");
cell.SetStyleBold(true);
// Values
sheet.Cell[0,1].SetString("Hello world");
sheet.Cell[1,1].SetFloat(123.456);
sheet.Cell[2,1].SetInteger(789);

// Second sheet, with date time values
sheet := doc.AddSheet("Dates & times");
sheet.ColumnWidth[0]:= 6;
sheet.ColumnWidth[1]:= 3;
sheet.ColumnWidth[2]:= 3;
// Titles
cell := sheet.Cell[0,0];
cell.SetString("Date & time");
cell.SetStyleBold(true);
cell := sheet.Cell[1,0];
cell.SetString("Date");
cell.SetStyleBold(true);
cell := sheet.Cell[2,0];
cell.SetString("Time");
cell.SetStyleBold(true);
// Values
sheet.Cell[0,1].SetDateTime(Now);
sheet.Cell[1,1].SetDate(Now -1);
sheet.Cell[2,1].SetTime(13,52,13);

// Create the file
doc.ToZip("D:\temp\TestCellWriting" + TODSDocument2.FileExtension);