You've already forked lazarus-ccr
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6317 8e941d3f-bd1b-0410-a28a-d453659cc2b4
175 lines
5.5 KiB
ObjectPascal
175 lines
5.5 KiB
ObjectPascal
{
|
|
htmlwrite.lpr
|
|
|
|
Demonstrates how to write a table in html format using the fpspreadsheet library
|
|
}
|
|
|
|
program htmlwrite;
|
|
|
|
{$mode delphi}{$H+}
|
|
|
|
uses
|
|
Classes, SysUtils, fpstypes, fpspreadsheet, fpshtml;
|
|
|
|
var
|
|
MyWorkbook: TsWorkbook;
|
|
MyWorksheet: TsWorksheet;
|
|
MyDir: string;
|
|
row: Integer;
|
|
|
|
begin
|
|
MyDir := ExtractFilePath(ParamStr(0));
|
|
|
|
// Create the spreadsheet
|
|
MyWorkbook := TsWorkbook.Create;
|
|
try
|
|
MyWorksheet := MyWorkbook.AddWorksheet('Sheet');
|
|
|
|
// Use first row and column as headers
|
|
Myworksheet.Options := MyWorksheet.Options + [soHasFrozenPanes];
|
|
Myworksheet.TopPaneHeight := 1;
|
|
Myworksheet.LeftPaneWidth := 1;
|
|
|
|
// Write colwidth
|
|
Myworksheet.WriteColWidth(1, 25, suChars); // approx 25 characters
|
|
|
|
// Write some cells
|
|
row := 0;
|
|
|
|
MyWorksheet.WriteBlank(row, 0);
|
|
MyWorksheet.WriteText(row, 1, 'Description');
|
|
MyWorksheet.WriteText(row, 2, 'Example');
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'This is a text:');
|
|
MyWorksheet.WriteText(row, 2, 'Hello world!');
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'This is bold text:');
|
|
Myworksheet.WriteText(row, 2, 'Hello world!');
|
|
Myworksheet.WriteFontStyle(row, 2, [fssBold]);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'This is a number:');
|
|
MyWorksheet.WriteNumber(row, 2, 3.141592);
|
|
Myworksheet.WriteHorAlignment(row, 2, haRight);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'This is a date:');
|
|
Myworksheet.WriteDateTime(row, 2, date());
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'This is a long text:');
|
|
MyWorksheet.WriteText(row, 2, 'A very, very, very, very long text, indeed');
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Centered text:');
|
|
MyWorksheet.WriteText(row, 2, 'I am in the center.');
|
|
MyWorksheet.WriteHorAlignment(row, 2, haCenter);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'This is a long text with line break:');
|
|
Myworksheet.WriteVertAlignment(row, 1, vaTop);
|
|
MyWorksheet.WriteText(row, 2, 'A very, very, very, very long text,'#13#10'indeed');
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Merged rows');
|
|
Myworksheet.MergeCells(row, 1, row+1, 1);
|
|
MyWorksheet.WriteText(row, 2, 'A');
|
|
inc(row);
|
|
MyWorksheet.WriteText(row, 2, 'B');
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Merged columns');
|
|
MyWorksheet.WriteHorAlignment(row, 1, haCenter);
|
|
MyWorksheet.MergeCells(row, 1, row, 2);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Right border:');
|
|
MyWorksheet.WriteText(row, 2, 'medium / red');
|
|
MyWorksheet.WriteBorders(row, 2, [cbEast]);
|
|
MyWorksheet.WriteBorderStyle(row, 2, cbEast, lsMedium, scRed);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Top border:');
|
|
MyWorksheet.WriteText(row, 2, 'top / dashed');
|
|
MyWorksheet.WriteBorders(row, 2, [cbNorth]);
|
|
MyWorksheet.WriteBorderLineStyle(row, 2, cbNorth, lsDashed);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Left border:');
|
|
MyWorksheet.WriteText(row, 2, 'left / dotted');
|
|
MyWorksheet.WriteBorders(row, 2, [cbWest]);
|
|
MyWorksheet.WriteBorderLineStyle(row, 2, cbWest, lsDotted);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Bottom border:');
|
|
MyWorksheet.WriteText(row, 2, 'bottom / double');
|
|
MyWorksheet.WriteBorders(row, 2, [cbSouth]);
|
|
MyWorksheet.WriteBorderLineStyle(row, 2, cbSouth, lsDouble);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'This row is high');
|
|
MyWorksheet.WriteRowHeight(row, 5);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Colors:');
|
|
MyWorksheet.WriteText(row, 2, 'yellow on blue');
|
|
MyWorksheet.WriteFontColor(row, 2, scYellow);
|
|
MyWorksheet.WriteBackgroundColor(row, 2, scBlue);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'RGB background color:');
|
|
MyWorksheet.WriteText(row, 2, 'color #FF77C3'); // HTML colors are big-endian
|
|
MyWorksheet.WriteBackgroundColor(row, 2, $C377FF); // fps colors are little-endian
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Bold text:');
|
|
MyWorksheet.WriteText(row, 2, 'Bold text');
|
|
MyWorksheet.WriteFontStyle(row, 2, [fssBold]);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Italic text:');
|
|
MyWorksheet.WriteText(row, 2, 'Italic text');
|
|
MyWorksheet.WriteFontStyle(row, 2, [fssItalic]);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Underlined text:');
|
|
MyWorksheet.WriteText(row, 2, 'Underlined text');
|
|
MyWorksheet.WriteFontStyle(row, 2, [fssUnderline]);
|
|
inc(row);
|
|
|
|
MyWorksheet.WriteNumber(row, 0, row);
|
|
MyWorksheet.WriteText(row, 1, 'Strike-through text:');
|
|
MyWorksheet.WriteText(row, 2, 'Strike-through text');
|
|
MyWorksheet.WriteFontStyle(row, 2, [fssStrikeout]);
|
|
inc(row);
|
|
|
|
// Save the spreadsheet to a file
|
|
MyWorkbook.WriteToFile(MyDir + 'test.html', sfHTML, true);
|
|
|
|
finally
|
|
MyWorkbook.Free;
|
|
end;
|
|
end.
|
|
|