You've already forked lazarus-ccr
FPSpreadsheet: Adds all other border combinations to the biff 8 writter and the example
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1643 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -29,34 +29,87 @@ begin
|
||||
|
||||
// Write some cells
|
||||
MyWorksheet.WriteUTF8Text(1, 0, 'Border');// A2
|
||||
|
||||
MyWorksheet.WriteUTF8Text(1, 1, '[]'); // B2
|
||||
MyWorksheet.WriteUTF8Text(1, 2, '[North]');// C2
|
||||
MyWorksheet.WriteUTF8Text(1, 3, '[West]');// D2
|
||||
MyWorksheet.WriteUTF8Text(1, 4, '[East]');// E2
|
||||
MyWorksheet.WriteUTF8Text(1, 5, '[South]');// F2
|
||||
|
||||
// Format them
|
||||
|
||||
MyCell := MyWorksheet.GetCell(1, 1);
|
||||
MyCell^.Border := [];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyCell := MyWorksheet.GetCell(1, 2);
|
||||
MyWorksheet.WriteUTF8Text(1, 3, '[N]');// D2
|
||||
MyCell := MyWorksheet.GetCell(1, 3);
|
||||
MyCell^.Border := [cbNorth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyCell := MyWorksheet.GetCell(1, 3);
|
||||
MyWorksheet.WriteUTF8Text(1, 5, '[W]');// F2
|
||||
MyCell := MyWorksheet.GetCell(1, 5);
|
||||
MyCell^.Border := [cbWest];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyCell := MyWorksheet.GetCell(1, 4);
|
||||
MyWorksheet.WriteUTF8Text(1, 7, '[E]');// H2
|
||||
MyCell := MyWorksheet.GetCell(1, 7);
|
||||
MyCell^.Border := [cbEast];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
MyCell := MyWorksheet.GetCell(1, 5);
|
||||
MyWorksheet.WriteUTF8Text(1, 9, '[S]');// J2
|
||||
MyCell := MyWorksheet.GetCell(1, 9);
|
||||
MyCell^.Border := [cbSouth];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
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];
|
||||
MyCell^.UsedFormattingFields := [uffBorder];
|
||||
|
||||
// Save the spreadsheet to a file
|
||||
MyWorkbook.WriteToFile(MyDir + 'test3.xls', sfExcel8, False);
|
||||
MyWorkbook.Free;
|
||||
|
@ -369,6 +369,28 @@ begin
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbEast]);
|
||||
// XF22 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbSouth]);
|
||||
// XF23 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbNorth, cbWest]);
|
||||
// XF24 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbNorth, cbEast]);
|
||||
// XF25 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbNorth, cbSouth]);
|
||||
// XF26 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbWest, cbEast]);
|
||||
// XF27 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbWest, cbSouth]);
|
||||
// XF28 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbEast, cbSouth]);
|
||||
// XF29 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbNorth, cbWest, cbEast]);
|
||||
// XF30 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbNorth, cbWest, cbSouth]);
|
||||
// XF31 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbNorth, cbEast, cbSouth]);
|
||||
// XF32 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbWest, cbEast, cbSouth]);
|
||||
// XF33 - Border
|
||||
WriteXF(AStream, 0, 0, XF_ROTATION_HORIZONTAL, [cbNorth, cbWest, cbEast, cbSouth]);
|
||||
|
||||
WriteStyle(AStream);
|
||||
|
||||
@ -767,7 +789,18 @@ begin
|
||||
else if ACell^.Border = [cbNorth] then AStream.WriteWord(WordToLE(19))
|
||||
else if ACell^.Border = [cbWest] then AStream.WriteWord(WordToLE(20))
|
||||
else if ACell^.Border = [cbEast] then AStream.WriteWord(WordToLE(21))
|
||||
else if ACell^.Border = [cbSouth] then AStream.WriteWord(WordToLE(22));
|
||||
else if ACell^.Border = [cbSouth] then AStream.WriteWord(WordToLE(22))
|
||||
else if ACell^.Border = [cbNorth, cbWest] then AStream.WriteWord(WordToLE(23))
|
||||
else if ACell^.Border = [cbNorth, cbEast] then AStream.WriteWord(WordToLE(24))
|
||||
else if ACell^.Border = [cbNorth, cbSouth] then AStream.WriteWord(WordToLE(25))
|
||||
else if ACell^.Border = [cbWest, cbEast] then AStream.WriteWord(WordToLE(26))
|
||||
else if ACell^.Border = [cbWest, cbSouth] then AStream.WriteWord(WordToLE(27))
|
||||
else if ACell^.Border = [cbEast, cbSouth] then AStream.WriteWord(WordToLE(28))
|
||||
else if ACell^.Border = [cbNorth, cbWest, cbEast] then AStream.WriteWord(WordToLE(29))
|
||||
else if ACell^.Border = [cbNorth, cbWest, cbSouth] then AStream.WriteWord(WordToLE(30))
|
||||
else if ACell^.Border = [cbNorth, cbEast, cbSouth] then AStream.WriteWord(WordToLE(31))
|
||||
else if ACell^.Border = [cbWest, cbEast, cbSouth] then AStream.WriteWord(WordToLE(32))
|
||||
else if ACell^.Border = [cbNorth, cbWest, cbEast, cbSouth] then AStream.WriteWord(WordToLE(33));
|
||||
end
|
||||
else
|
||||
AStream.WriteWord(WordToLE(15));
|
||||
|
Reference in New Issue
Block a user