fpspreadsheet: Improves OpenDocument support

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@695 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
sekelsenmat
2009-02-03 09:41:17 +00:00
parent 91b301ae80
commit 1b1a30f00c
5 changed files with 35 additions and 32 deletions

View File

@ -10,7 +10,8 @@ program excel5read;
{$mode delphi}{$H+}
uses
Classes, SysUtils, fpspreadsheet, xlsbiff5, laz_fpspreadsheet;
Classes, SysUtils, fpspreadsheet, xlsbiff5,
laz_fpspreadsheet;
var
MyWorkbook: TsWorkbook;
@ -22,7 +23,7 @@ var
begin
// Open the input file
MyDir := ExtractFilePath(ParamStr(0));
InputFileName := MyDir + 'test' + STR_EXCEL_EXTENSION;
InputFileName := MyDir + 'test.xls';
WriteLn('Opening input file ', InputFilename);
// Create the spreadsheet
@ -39,8 +40,10 @@ begin
for i := 0 to MyWorksheet.GetCellCount - 1 do
begin
CurCell := MyWorkSheet.GetCellByIndex(i);
WriteLn('Row: ', CurCell^.Row, ' Col: ', CurCell^.Col, ' Value: ',
UTF8ToAnsi(MyWorkSheet.ReadAsUTF8Text(CurCell^.Row, CurCell^.Col))
WriteLn('Row: ', CurCell^.Row,
' Col: ', CurCell^.Col, ' Value: ',
UTF8ToAnsi(MyWorkSheet.ReadAsUTF8Text(CurCell^.Row,
CurCell^.Col))
);
end;

View File

@ -38,7 +38,7 @@
<Filename Value="excel5write.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="excel5write"/>
<CursorPos X="3" Y="17"/>
<CursorPos X="1" Y="8"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="309"/>

View File

@ -10,7 +10,8 @@ program excel5write;
{$mode delphi}{$H+}
uses
Classes, SysUtils, fpspreadsheet, xlsbiff5, laz_fpspreadsheet;
Classes, SysUtils, fpspreadsheet, xlsbiff5,
laz_fpspreadsheet;
var
MyWorkbook: TsWorkbook;
@ -19,18 +20,19 @@ var
MyDir: string;
i: Integer;
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 some cells
MyWorksheet.WriteNumber(0, 0, 1.0);// A1
MyWorksheet.WriteNumber(0, 1, 2.0);// B1
MyWorksheet.WriteNumber(0, 2, 3.0);// C1
MyWorksheet.WriteNumber(0, 3, 4.0);// D1
MyWorksheet.WriteUTF8Text(4, 2, 'Total:');// C5
MyWorksheet.WriteNumber(4, 3, 10); // D5
{ Uncommend this to test large XLS files
for i := 2 to 20 do
@ -49,14 +51,14 @@ begin
// Creates a new worksheet
MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet 2');
// Write some string cells
{ // Write some string cells
MyWorksheet.WriteUTF8Text(0, 0, 'First');
MyWorksheet.WriteUTF8Text(0, 1, 'Second');
MyWorksheet.WriteUTF8Text(0, 2, 'Third');
MyWorksheet.WriteUTF8Text(0, 3, 'Fourth');
MyWorksheet.WriteUTF8Text(0, 3, 'Fourth');}
// Save the spreadsheet to a file
MyWorkbook.WriteToFile(MyDir + 'test' + STR_EXCEL_EXTENSION, sfExcel5);
MyWorkbook.WriteToFile(MyDir + 'test.xls', sfExcel5);
MyWorkbook.Free;
end.

View File

@ -11,7 +11,7 @@
<TargetFileExt Value=".exe"/>
<Title Value="opendocwrite"/>
<UseAppBundle Value="False"/>
<ActiveEditorIndexAtStart Value="4"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
@ -38,7 +38,7 @@
<Filename Value="opendocwrite.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="opendocwrite"/>
<CursorPos X="1" Y="34"/>
<CursorPos X="33" Y="35"/>
<TopLine Value="20"/>
<EditorIndex Value="0"/>
<UsageCount Value="309"/>
@ -116,8 +116,8 @@
<Unit10>
<Filename Value="..\..\fpspreadsheet.pas"/>
<UnitName Value="fpspreadsheet"/>
<CursorPos X="1" Y="794"/>
<TopLine Value="792"/>
<CursorPos X="1" Y="102"/>
<TopLine Value="85"/>
<EditorIndex Value="4"/>
<UsageCount Value="100"/>
<Loaded Value="True"/>
@ -134,7 +134,7 @@
<CursorPos X="1" Y="384"/>
<TopLine Value="373"/>
<EditorIndex Value="2"/>
<UsageCount Value="21"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit12>
<Unit13>
@ -143,7 +143,7 @@
<CursorPos X="1" Y="35"/>
<TopLine Value="16"/>
<EditorIndex Value="3"/>
<UsageCount Value="21"/>
<UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
@ -158,7 +158,7 @@
<CursorPos X="44" Y="13"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<UsageCount Value="16"/>
<UsageCount Value="17"/>
<Loaded Value="True"/>
</Unit15>
<Unit16>
@ -186,7 +186,7 @@
<CursorPos X="36" Y="9"/>
<TopLine Value="1"/>
<EditorIndex Value="5"/>
<UsageCount Value="13"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit19>
</Units>

View File

@ -24,15 +24,13 @@ begin
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 some string cells
MyWorksheet.WriteUTF8Text(4, 2, 'Total:');
MyWorksheet.WriteNumber(4, 3, 10.0);
// Write some cells
MyWorksheet.WriteNumber(0, 0, 1.0);// A1
MyWorksheet.WriteNumber(0, 1, 2.0);// B1
MyWorksheet.WriteNumber(0, 2, 3.0);// C1
MyWorksheet.WriteNumber(0, 3, 4.0);// D1
MyWorksheet.WriteUTF8Text(4, 2, 'Total:');// C5
MyWorksheet.WriteNumber(4, 3, 10); // D5
// Creates a new worksheet
MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet 2');