2011-05-25 13:40:53 +00:00
|
|
|
{
|
|
|
|
excel8write.dpr
|
|
|
|
|
|
|
|
Demonstrates how to write an Excel 8+ file using the fpspreadsheet library
|
|
|
|
|
|
|
|
Adds formatting to the file
|
|
|
|
|
|
|
|
AUTHORS: Felipe Monteiro de Carvalho
|
|
|
|
}
|
|
|
|
program excel8write_format;
|
|
|
|
|
|
|
|
{$mode delphi}{$H+}
|
|
|
|
|
|
|
|
uses
|
|
|
|
Classes, SysUtils, fpspreadsheet, xlsbiff8,
|
|
|
|
laz_fpspreadsheet, fpsconvencoding;
|
|
|
|
|
|
|
|
var
|
|
|
|
MyWorkbook: TsWorkbook;
|
|
|
|
MyWorksheet: TsWorksheet;
|
|
|
|
MyDir: string;
|
|
|
|
MyCell: PCell;
|
|
|
|
begin
|
|
|
|
MyDir := ExtractFilePath(ParamStr(0));
|
|
|
|
|
|
|
|
// Create the spreadsheet
|
|
|
|
MyWorkbook := TsWorkbook.Create;
|
|
|
|
MyWorksheet := MyWorkbook.AddWorksheet('Worksheet1');
|
|
|
|
|
|
|
|
// Write some cells
|
|
|
|
MyWorksheet.WriteUTF8Text(1, 0, 'Border');// A2
|
|
|
|
|
2011-05-25 14:59:07 +00:00
|
|
|
MyWorksheet.WriteUTF8Text(1, 1, '[]'); // B2
|
2011-05-25 13:40:53 +00:00
|
|
|
MyCell := MyWorksheet.GetCell(1, 1);
|
|
|
|
MyCell^.Border := [];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
2011-05-25 14:59:07 +00:00
|
|
|
MyWorksheet.WriteUTF8Text(1, 3, '[N]');// D2
|
|
|
|
MyCell := MyWorksheet.GetCell(1, 3);
|
2011-05-25 13:40:53 +00:00
|
|
|
MyCell^.Border := [cbNorth];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
2011-05-25 14:59:07 +00:00
|
|
|
MyWorksheet.WriteUTF8Text(1, 5, '[W]');// F2
|
|
|
|
MyCell := MyWorksheet.GetCell(1, 5);
|
2011-05-25 13:40:53 +00:00
|
|
|
MyCell^.Border := [cbWest];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
2011-05-25 14:59:07 +00:00
|
|
|
MyWorksheet.WriteUTF8Text(1, 7, '[E]');// H2
|
|
|
|
MyCell := MyWorksheet.GetCell(1, 7);
|
2011-05-25 13:40:53 +00:00
|
|
|
MyCell^.Border := [cbEast];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
2011-05-25 14:59:07 +00:00
|
|
|
MyWorksheet.WriteUTF8Text(1, 9, '[S]');// J2
|
|
|
|
MyCell := MyWorksheet.GetCell(1, 9);
|
2011-05-25 13:40:53 +00:00
|
|
|
MyCell^.Border := [cbSouth];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
2011-05-25 14:59:07 +00:00
|
|
|
MyWorksheet.WriteUTF8Text(3, 1, '[N,W]');// B4
|
|
|
|
MyCell := MyWorksheet.GetCell(3, 1);
|
|
|
|
MyCell^.Border := [cbNorth, cbWest];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(3, 3, '[N,E]');// D4
|
|
|
|
MyCell := MyWorksheet.GetCell(3, 3);
|
|
|
|
MyCell^.Border := [cbNorth, cbEast];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(3, 5, '[N,S]');// F4
|
|
|
|
MyCell := MyWorksheet.GetCell(3, 5);
|
|
|
|
MyCell^.Border := [cbNorth, cbSouth];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(3, 7, '[W,E]');// H4
|
|
|
|
MyCell := MyWorksheet.GetCell(3, 7);
|
|
|
|
MyCell^.Border := [cbWest, cbEast];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(3, 9, '[W,S]');// J4
|
|
|
|
MyCell := MyWorksheet.GetCell(3, 9);
|
|
|
|
MyCell^.Border := [cbWest, cbSouth];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(3, 11, '[E,S]');// L4
|
|
|
|
MyCell := MyWorksheet.GetCell(3, 11);
|
|
|
|
MyCell^.Border := [cbEast, cbSouth];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(5, 1, '[N,W,E]');// B6
|
|
|
|
MyCell := MyWorksheet.GetCell(5, 1);
|
|
|
|
MyCell^.Border := [cbNorth, cbWest, cbEast];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(5, 3, '[N,W,S]');// D6
|
|
|
|
MyCell := MyWorksheet.GetCell(5, 3);
|
|
|
|
MyCell^.Border := [cbNorth, cbWest, cbSouth];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(5, 5, '[N,E,S]');// F6
|
|
|
|
MyCell := MyWorksheet.GetCell(5, 5);
|
|
|
|
MyCell^.Border := [cbNorth, cbEast, cbSouth];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(5, 7, '[W,E,S]');// H6
|
|
|
|
MyCell := MyWorksheet.GetCell(5, 7);
|
|
|
|
MyCell^.Border := [cbWest, cbEast, cbSouth];
|
|
|
|
MyCell^.UsedFormattingFields := [uffBorder];
|
|
|
|
|
|
|
|
MyWorksheet.WriteUTF8Text(5, 9, '[N,W,E,S]');// J6
|
|
|
|
MyCell := MyWorksheet.GetCell(5, 9);
|
|
|
|
MyCell^.Border := [cbNorth, cbWest, cbEast, cbSouth];
|
2011-05-26 09:22:09 +00:00
|
|
|
MyCell^.UsedFormattingFields := [uffBorder, uffBold];
|
2011-05-25 14:59:07 +00:00
|
|
|
|
2011-05-25 13:40:53 +00:00
|
|
|
// Save the spreadsheet to a file
|
|
|
|
MyWorkbook.WriteToFile(MyDir + 'test3.xls', sfExcel8, False);
|
|
|
|
MyWorkbook.Free;
|
|
|
|
end.
|
|
|
|
|