1
0
Files
applications
bindings
components
acs
fpspreadsheet
examples
excel5demo
excel5demo.lpi
excel5demo.lpr
builddoc.bat
fpolestorage.pas
fpsallformats.pas
fpsopendocument.pas
fpspreadsheet.chm
fpspreadsheet.dox-express
fpspreadsheet.pas
xlsbiff2.pas
xlsbiff5.pas
xlsbiff8.pas
xlsxooxml.pas
jvcllaz
orpheus
rgbgraphics
richview
rtfview
rx
svn
tparadoxdataset
tvplanit
virtualtreeview
virtualtreeview-unstable
xdev_toolkit
examples
lclbindings
wst
lazarus-ccr/components/fpspreadsheet/examples/excel5demo/excel5demo.lpr

60 lines
1.5 KiB
ObjectPascal
Raw Normal View History

{
excel5demo.dpr
Demonstrates how to write an Excel 5.x file using the fpspreadsheet library
AUTHORS: Felipe Monteiro de Carvalho
}
program excel5demo;
{$mode delphi}{$H+}
uses
Classes, SysUtils, fpspreadsheet, xlsbiff5;
var
MyWorkbook: TsWorkbook;
MyWorksheet: TsWorksheet;
MyFormula: TRPNFormula;
MyDir: string;
begin
// Open the output file
MyDir := ExtractFilePath(ParamStr(0));
// Create the spreadsheet
MyWorkbook := TsWorkbook.Create;
MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet');
// Write some number cells
MyWorksheet.WriteNumber(0, 0, 1.0);
MyWorksheet.WriteNumber(0, 1, 2.0);
MyWorksheet.WriteNumber(0, 2, 3.0);
MyWorksheet.WriteNumber(0, 3, 4.0);
// Write the formula E1 = A1 + B1
// or, in RPN: A1, B1, +
SetLength(MyFormula, 3);
MyFormula[0].TokenID := INT_EXCEL_TOKEN_TREFV; {A1}
MyFormula[0].Col := 0;
MyFormula[0].Row := 0;
MyFormula[1].TokenID := INT_EXCEL_TOKEN_TREFV; {B1}
MyFormula[1].Col := 1;
MyFormula[1].Row := 0;
MyFormula[2].TokenID := INT_EXCEL_TOKEN_TADD; {+}
MyWorksheet.WriteRPNFormula(0, 4, MyFormula);
// Creates a new worksheet
MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet 2');
// Write some string cells
MyWorksheet.WriteAnsiText(0, 0, 'First');
MyWorksheet.WriteAnsiText(0, 1, 'Second');
MyWorksheet.WriteAnsiText(0, 2, 'Third');
MyWorksheet.WriteAnsiText(0, 3, 'Fourth');
// Save the spreadsheet to a file
MyWorkbook.WriteToFile(MyDir + 'test' + STR_EXCEL_EXTENSION, sfExcel5);
MyWorkbook.Free;
end.