You've already forked lazarus-ccr
fpspreadsheet: Move hyperlinkdemo to "others" folder. Make sure that "other" demos write their output in the project directory.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7995 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -13,6 +13,8 @@ var
|
||||
row: Integer;
|
||||
i: Integer;
|
||||
lastCol: Integer;
|
||||
dir: String;
|
||||
|
||||
begin
|
||||
wb := TsWorkbook.Create;
|
||||
try
|
||||
@ -397,9 +399,10 @@ begin
|
||||
sh.WriteIconSet(Range(Row, 2, row, 12), is3Flags);
|
||||
|
||||
{ ------ Save workbook to file-------------------------------------------- }
|
||||
wb.WriteToFile('test.xlsx', true);
|
||||
wb.WriteToFile('test.ods', true);
|
||||
wb.WriteToFile('test.xml', true);
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
wb.WriteToFile(dir + 'test.xlsx', true);
|
||||
wb.WriteToFile(dir + 'test.ods', true);
|
||||
wb.WriteToFile(dir + 'test.xml', true);
|
||||
|
||||
if wb.ErrorMsg <> '' then
|
||||
WriteLn(wb.ErrorMsg);
|
||||
|
@ -28,21 +28,24 @@ var
|
||||
sheetFormat: TsSpreadsheetFormat;
|
||||
sheetName: String;
|
||||
r, c: Cardinal;
|
||||
dir: String;
|
||||
|
||||
begin
|
||||
// Just for the demo: create the file "source.xls". It contains hyperlinks to
|
||||
// some of the "test" files created in the XXXXdemo projects
|
||||
Write('Creating source workbook...');
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
|
||||
srcWorkbook := TsWorkbook.Create;
|
||||
try
|
||||
sheet := srcWorkbook.AddWorksheet('Sheet');
|
||||
|
||||
sheet.WriteText(0, 0, 'Link to biff8 test file');
|
||||
sheet.WriteHyperlink(0, 0, '../excel8demo/test.xls#''My Worksheet 2''!A1');
|
||||
sheet.WriteHyperlink(0, 0, '../../read_write/excel8demo/test.xls#''My Worksheet 2''!A1');
|
||||
//sheet.WriteHyperlink(0, 0, '../excel8demo/test.xls#''Meu Relatório''!A1');
|
||||
|
||||
sheet.WriteText(1, 0, 'Link to ods test file');
|
||||
sheet.WriteHyperlink(1, 0, '..\opendocdemo\test.ods');
|
||||
sheet.WriteHyperlink(1, 0, '../../read_write/opendocdemo/test.ods');
|
||||
|
||||
sheet.WriteText(2, 0, 'E-Mail Link');
|
||||
sheet.WriteHyperlink(2, 0, 'mailto:someone@mail.com;someoneelse@mail.com?Subject=This is a test');
|
||||
@ -51,7 +54,7 @@ begin
|
||||
sheet.WriteHyperlink(3, 0, 'http://www.lazarus-ide.org/');
|
||||
|
||||
sheet.WriteText(4, 0, 'File-Link (absolute path)');
|
||||
sheet.WriteHyperlink(4, 0, 'file:///'+ExpandFilename('..\..\..\tests\testooxml_1899.xlsx'));
|
||||
sheet.WriteHyperlink(4, 0, 'file:///'+ExpandFilename('../../../tests/testooxml_1899.xlsx'));
|
||||
// This creates the URI such as "file:///D:\Prog_Lazarus\svn\lazarus-ccr\components\fpspreadsheet\tests\testooxml_1899.xlsx"
|
||||
// but makes sure that the file exists on your system.
|
||||
|
||||
@ -60,7 +63,7 @@ begin
|
||||
|
||||
sheet.WriteColWidth(0, 40, suChars);
|
||||
|
||||
srcWorkbook.WriteToFile(srcFile, true);
|
||||
srcWorkbook.WriteToFile(dir + srcFile, true);
|
||||
finally
|
||||
srcWorkbook.Free;
|
||||
end;
|
||||
@ -73,7 +76,7 @@ begin
|
||||
Write('Reading source workbook, sheet ');
|
||||
srcWorkbook := TsWorkbook.Create;
|
||||
try
|
||||
srcWorkbook.ReadFromFile(srcFile);
|
||||
srcWorkbook.ReadFromFile(dir + srcFile);
|
||||
sheet := srcWorkbook.GetWorksheetByIndex(0);
|
||||
WriteLn(sheet.Name, '...');
|
||||
|
||||
@ -125,7 +128,7 @@ begin
|
||||
continue;
|
||||
end;
|
||||
// Copy linked worksheet to new sheet in destination workbook
|
||||
destSheet := destWorkbook.CopyWorksheetFrom(linkedSheet);
|
||||
destSheet := destWorkbook.CopyWorksheetFrom(linkedSheet, true);
|
||||
// Create sheet name
|
||||
sheetName := ExtractFileName(fn) + '#' +linkedSheet.Name;
|
||||
destWorkbook.ValidWorksheetName(sheetName, true);
|
||||
@ -144,24 +147,27 @@ begin
|
||||
WriteLn;
|
||||
if destWorkbook <> nil then
|
||||
begin
|
||||
destworkbook.WriteToFile(destFile+'.xls', true);
|
||||
destworkbook.WriteToFile(destFile+'.xlsx', true);
|
||||
destworkbook.WriteToFile(destFile+'.ods', true);
|
||||
destworkbook.WriteToFile(dir + destFile+'.xls', true);
|
||||
destworkbook.WriteToFile(dir + destFile+'.xlsx', true);
|
||||
destworkbook.WriteToFile(dir + destFile+'.ods', true);
|
||||
WriteLn('All hyperlinks to spreadsheets are collected in files ' + destFile + '.*');
|
||||
end else
|
||||
WriteLn('No hyperlinks found.');
|
||||
|
||||
{$IFDEF Windows}
|
||||
WriteLn;
|
||||
WriteLn('Press ENTER to close...');
|
||||
ReadLn;
|
||||
{$ENDIF}
|
||||
|
||||
finally
|
||||
// Clean up
|
||||
srcWorkbook.Free;
|
||||
if destWorkbook <> nil then destWorkbook.Free;
|
||||
end;
|
||||
|
||||
if ParamCount = 0 then
|
||||
begin
|
||||
{$IFDEF MSWindows}
|
||||
WriteLn;
|
||||
WriteLn('Press ENTER to close...');
|
||||
ReadLn;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -40,6 +40,7 @@ var
|
||||
book: TsWorkbook;
|
||||
sheet: TsWorksheet;
|
||||
cell: PCell;
|
||||
dir: String;
|
||||
|
||||
// example for an external ods reference:
|
||||
// ='file:///D:/fpspreadsheet/examples/other/external.ods'#$Sheet.A1
|
||||
@ -79,6 +80,8 @@ var
|
||||
end;
|
||||
|
||||
begin
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
|
||||
// Write external file
|
||||
book := TsWorkbook.Create;
|
||||
try
|
||||
@ -90,7 +93,7 @@ begin
|
||||
cell := sheet.GetCell(CELL2);
|
||||
sheet.WriteText(cell, 'Hallo');
|
||||
|
||||
book.WriteToFile(EXTERNAL_FILE, FILE_FORMAT, true);
|
||||
book.WriteToFile(dir+EXTERNAL_FILE, FILE_FORMAT, true);
|
||||
finally
|
||||
book.Free;
|
||||
end;
|
||||
@ -103,9 +106,9 @@ begin
|
||||
sheet := book.AddWorksheet('Sheet');
|
||||
|
||||
// Write external references
|
||||
sheet.WriteFormula(0, 0, ExtRef(EXTERNAL_FILE, EXTERNAL_SHEET, CELL1));
|
||||
sheet.WriteFormula(1, 0, ExtRef(EXTERNAL_FILE, EXTERNAL_SHEET, CELL2));
|
||||
book.WriteToFile(MASTER_FILE, FILE_FORMAT, true);
|
||||
sheet.WriteFormula(0, 0, ExtRef(dir + EXTERNAL_FILE, EXTERNAL_SHEET, CELL1));
|
||||
sheet.WriteFormula(1, 0, ExtRef(dir + EXTERNAL_FILE, EXTERNAL_SHEET, CELL2));
|
||||
book.WriteToFile(dir + MASTER_FILE, FILE_FORMAT, true);
|
||||
|
||||
finally
|
||||
book.Free;
|
||||
|
@ -59,7 +59,10 @@ var
|
||||
book: TsWorkbook;
|
||||
sheet: TsWorksheet;
|
||||
i: Integer;
|
||||
dir: String;
|
||||
begin
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
|
||||
book := TsWorkbook.Create;
|
||||
try
|
||||
book.MetaData.CreatedBy := 'Donald Duck & Dagobert Duck';
|
||||
@ -80,9 +83,9 @@ begin
|
||||
sheet := book.AddWorksheet('Test');
|
||||
sheet.WriteText(2, 3, 'abc');
|
||||
sheet.WriteBackgroundColor(2, 3, scYellow);
|
||||
book.WriteToFile('test.xlsx', true);
|
||||
book.WriteToFile('test.ods', true);
|
||||
book.WriteToFile('test.xml', true)
|
||||
book.WriteToFile(dir + 'test.xlsx', true);
|
||||
book.WriteToFile(dir + 'test.ods', true);
|
||||
book.WriteToFile(dir + 'test.xml', true)
|
||||
finally
|
||||
book.Free;
|
||||
end;
|
||||
|
@ -27,6 +27,11 @@
|
||||
<Mode Name="default"/>
|
||||
</BuildModes>
|
||||
</Target>
|
||||
<Target FileName="hyperlinkdemo\collectlinks.lpi">
|
||||
<BuildModes>
|
||||
<Mode Name="Default"/>
|
||||
</BuildModes>
|
||||
</Target>
|
||||
<Target FileName="ignore_formulas\demo_ignore_formula.lpi">
|
||||
<BuildModes>
|
||||
<Mode Name="Default"/>
|
||||
|
@ -14,6 +14,8 @@ var
|
||||
sheet: TsWorksheet;
|
||||
cell: PCell;
|
||||
c: TsCryptoInfo;
|
||||
dir: String;
|
||||
|
||||
begin
|
||||
book := TsWorkbook.Create;
|
||||
try
|
||||
@ -35,10 +37,11 @@ begin
|
||||
sheet.Protection := [spDeleteRows, spDeleteColumns, spInsertRows, spInsertColumns];
|
||||
sheet.Protect(true);
|
||||
|
||||
book.WriteToFile('protected.xls', sfExcel8, true);
|
||||
book.WriteToFile('protected.xlsx', sfOOXML, true);
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
book.WriteToFile(dir + 'protected.xls', sfExcel8, true);
|
||||
book.WriteToFile(dir + 'protected.xlsx', sfOOXML, true);
|
||||
// Note ODS does not write the excel password correctly, yet. --> protection cannot be removed.
|
||||
book.WriteToFile('protected.ods', sfOpenDocument, true);
|
||||
book.WriteToFile(dir + 'protected.ods', sfOpenDocument, true);
|
||||
|
||||
finally
|
||||
book.Free;
|
||||
|
@ -14,17 +14,21 @@ uses
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
Classes, Math,
|
||||
SysUtils, Classes, Math,
|
||||
fpstypes, fpspreadsheet, fpsfunc, xlsbiff8;
|
||||
|
||||
var
|
||||
workbook: TsWorkbook;
|
||||
worksheet: TsWorksheet;
|
||||
dir: String;
|
||||
|
||||
const
|
||||
OutputFile='test_recursive.xls';
|
||||
OutputFile = 'test_recursive.xls';
|
||||
|
||||
begin
|
||||
writeln('Starting program.');
|
||||
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
workbook := TsWorkbook.Create;
|
||||
try
|
||||
workbook.Options := workbook.Options + [boCalcBeforeSaving];
|
||||
@ -39,10 +43,10 @@ begin
|
||||
worksheet.WriteUTF8Text(2, 0, '(not dependent)'); // A3
|
||||
worksheet.WriteNumber(2, 1, 1); // B3
|
||||
|
||||
workbook.WriteToFile(OutputFile, sfExcel8, true);
|
||||
workbook.WriteToFile(dir + OutputFile, sfExcel8, true);
|
||||
writeln('Finished.');
|
||||
writeln;
|
||||
writeln('Please open "'+OutputFile+'" in "fpsgrid".');
|
||||
writeln('Please open "'+dir+OutputFile+'" in "fpsgrid".');
|
||||
writeLn('It must show correct calculation results in cells B1 and B2.');
|
||||
|
||||
finally
|
||||
|
@ -3,6 +3,7 @@ colors\demo_write_colors -quit
|
||||
conditional_formatting\demo_conditional_formatting -quit
|
||||
expression_parser\demo_expression_parser -quit
|
||||
header_footer_images\demo_write_headerfooter_images -quit
|
||||
hyperlinkdemo\collectlinks -quit
|
||||
ignore_formulas\demo_ignore_formula -quit
|
||||
images\demo_write_images -quit
|
||||
metadata\demo_metadata -quit
|
||||
|
@ -295,13 +295,17 @@ const
|
||||
TestFile='test_user_formula.xlsx'; // Format depends on extension selected
|
||||
// !!!! ods not working yet !!!!
|
||||
|
||||
var
|
||||
dir: String;
|
||||
|
||||
begin
|
||||
WriteLn('This demo registers user-defined functions for financial calculations');
|
||||
WriteLn('and writes and reads the corresponding spreadsheet file.');
|
||||
WriteLn;
|
||||
|
||||
WriteFile(TestFile);
|
||||
ReadFile(TestFile);
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
WriteFile(dir + TestFile);
|
||||
ReadFile(dir + TestFile);
|
||||
|
||||
WriteLn;
|
||||
WriteLn('Open the file in Excel or OpenOffice/LibreOffice.');
|
||||
|
@ -27,6 +27,7 @@ var
|
||||
worksheet: TsWorksheet;
|
||||
dataAnalyzer: TDataAnalyzer;
|
||||
t: TTime;
|
||||
dir: String;
|
||||
|
||||
procedure TDataAnalyzer.ReadCellDataHandler(Sender: TObject;
|
||||
ARow, ACol: Cardinal; const ADataCell: PCell);
|
||||
@ -47,7 +48,9 @@ var
|
||||
end;
|
||||
|
||||
begin
|
||||
if not FileExists(TestFileName) then begin
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
|
||||
if not FileExists(dir + TestFileName) then begin
|
||||
WriteLn('The test file does not exist. Please run demo_virtual_write first.');
|
||||
Halt;
|
||||
end;
|
||||
@ -68,7 +71,7 @@ begin
|
||||
workbook.OnReadCellData := @dataAnalyzer.ReadCellDataHandler;
|
||||
|
||||
t := Now;
|
||||
workbook.ReadFromFile(TestFileName);
|
||||
workbook.ReadFromFile(dir + TestFileName);
|
||||
t := Now - t;
|
||||
|
||||
WriteLn(Format('The workbook containes %d number and %d label cells, total %d.', [
|
||||
|
@ -57,7 +57,11 @@ var
|
||||
WriteLn('Writing row ', ARow, '...');
|
||||
end;
|
||||
|
||||
var
|
||||
dir: String;
|
||||
begin
|
||||
dir := ExtractFilePath(ParamStr(0));
|
||||
|
||||
dataprovider := TDataProvider.Create;
|
||||
try
|
||||
workbook := TsWorkbook.Create;
|
||||
@ -98,11 +102,11 @@ begin
|
||||
{ In case of a database, you would open the dataset before calling this: }
|
||||
|
||||
t := Now;
|
||||
//workbook.WriteToFile('test_virtual.ods', sfOpenDocument, true);
|
||||
//workbook.WriteToFile('test_virtual.xlsx', sfOOXML, true);
|
||||
workbook.WriteToFile('test_virtual.xls', sfExcel8, true);
|
||||
//workbook.WriteToFile('test_virtual.xls', sfExcel5, true);
|
||||
//workbook.WriteToFile('test_virtual.xls', sfExcel2, true);
|
||||
//workbook.WriteToFile(dir + 'test_virtual.ods', sfOpenDocument, true);
|
||||
//workbook.WriteToFile(dir + 'test_virtual.xlsx', sfOOXML, true);
|
||||
workbook.WriteToFile(dir + 'test_virtual.xls', sfExcel8, true);
|
||||
//workbook.WriteToFile(dir + 'test_virtual.xls', sfExcel5, true);
|
||||
//workbook.WriteToFile(dir + 'test_virtual.xls', sfExcel2, true);
|
||||
t := Now - t;
|
||||
|
||||
finally
|
||||
|
@ -282,7 +282,7 @@ begin
|
||||
MyWorksheet := MyWorkbook.AddWorksheet('My Worksheet 2');
|
||||
|
||||
// Save the spreadsheet to a file
|
||||
MyWorkbook.WriteToFile(MyDir + 'test1.ods', sfOpenDocument, true);
|
||||
MyWorkbook.WriteToFile(MyDir + 'test.ods', sfOpenDocument, true);
|
||||
MyWorkbook.Free;
|
||||
end.
|
||||
|
||||
|
Reference in New Issue
Block a user