2009-10-06 19:25:18 +00:00
|
|
|
unit mainform;
|
|
|
|
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
uses
|
|
|
|
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
2013-12-28 15:29:22 +00:00
|
|
|
StdCtrls, Menus,
|
|
|
|
fpspreadsheetgrid, fpspreadsheet, fpsallformats;
|
2009-10-06 19:25:18 +00:00
|
|
|
|
|
|
|
type
|
|
|
|
|
|
|
|
{ TForm1 }
|
|
|
|
|
|
|
|
TForm1 = class(TForm)
|
|
|
|
buttonPopulateGrid: TButton;
|
2013-12-28 15:29:22 +00:00
|
|
|
MainMenu1: TMainMenu;
|
|
|
|
mnuFile: TMenuItem;
|
|
|
|
mnuOpen: TMenuItem;
|
|
|
|
mnuQuit: TMenuItem;
|
|
|
|
mnuSaveAs: TMenuItem;
|
|
|
|
OpenDialog1: TOpenDialog;
|
|
|
|
SaveDialog1: TSaveDialog;
|
2009-10-06 19:25:18 +00:00
|
|
|
sWorksheetGrid1: TsWorksheetGrid;
|
|
|
|
procedure buttonPopulateGridClick(Sender: TObject);
|
2013-12-28 15:29:22 +00:00
|
|
|
procedure mnuOpenClick(Sender: TObject);
|
|
|
|
procedure mnuQuitClick(Sender: TObject);
|
|
|
|
procedure mnuSaveAsClick(Sender: TObject);
|
2009-10-06 19:25:18 +00:00
|
|
|
private
|
|
|
|
{ private declarations }
|
|
|
|
public
|
|
|
|
{ public declarations }
|
|
|
|
end;
|
|
|
|
|
|
|
|
var
|
|
|
|
Form1: TForm1;
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
{ TForm1 }
|
|
|
|
|
|
|
|
procedure TForm1.buttonPopulateGridClick(Sender: TObject);
|
2013-12-28 15:29:22 +00:00
|
|
|
// Populate grid with some demo data
|
2009-10-06 19:25:18 +00:00
|
|
|
var
|
|
|
|
lWorksheet: TsWorksheet;
|
|
|
|
begin
|
|
|
|
lWorksheet := TsWorksheet.Create;
|
|
|
|
try
|
2010-05-02 10:30:45 +00:00
|
|
|
lWorksheet.WriteUTF8Text(2, 2, 'Algo');
|
2009-10-06 19:25:18 +00:00
|
|
|
sWorksheetGrid1.LoadFromWorksheet(lWorksheet);
|
|
|
|
finally
|
|
|
|
lWorksheet.Free;
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
2013-12-28 15:29:22 +00:00
|
|
|
procedure TForm1.mnuOpenClick(Sender: TObject);
|
|
|
|
// Loads first worksheet from file into grid
|
|
|
|
begin
|
|
|
|
if OpenDialog1.Execute then
|
|
|
|
begin
|
|
|
|
sWorksheetGrid1.LoadFromSpreadsheetFile(OpenDialog1.FileName);
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure TForm1.mnuQuitClick(Sender: TObject);
|
|
|
|
begin
|
|
|
|
Close;
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure TForm1.mnuSaveAsClick(Sender: TObject);
|
|
|
|
// Saves sheet in grid to file, overwriting existing file
|
|
|
|
var
|
|
|
|
lWorkBook: TsWorkbook;
|
|
|
|
lWorkSheet:TsWorksheet;
|
|
|
|
begin
|
|
|
|
if SaveDialog1.Execute then
|
|
|
|
begin
|
|
|
|
lWorkBook := TsWorkBook.Create;
|
|
|
|
lWorkSheet := lWorkBook.AddWorksheet('Sheet1');
|
|
|
|
try
|
|
|
|
sWorksheetGrid1.SaveToWorksheet(lWorkSheet);
|
|
|
|
lWorkBook.WriteToFile(SaveDialog1.FileName,true);
|
|
|
|
finally
|
|
|
|
lWorkBook.Free;
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
2009-10-06 19:25:18 +00:00
|
|
|
initialization
|
|
|
|
{$I mainform.lrs}
|
|
|
|
|
|
|
|
end.
|
|
|
|
|