unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XLSReadWriteII2, StdCtrls, XLSUtils2;
type
TForm1 = class(TForm)
aXlsObj: TXLSReadWriteII2;
Button1: TButton;
aSaveDialog: TSaveDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
aFileName, aStampTime: AnsiString;
aa: TFormulaValue;
begin
try
aSaveDialog.InitialDir := ExtractFilePath(ParamStr(0));
aSaveDialog.DefaultExt := 'xls';
aSaveDialog.Filter := 'Excel文件(*.xls)|*.xls';
aStampTime := FormatDateTime('yyyymmddhhnnss', Now);
aSaveDialog.FileName := aStampTime;
if not aSaveDialog.Execute then
Exit;
aFileName := aSaveDialog.FileName;
if aFileName = '' then
Exit;
finally
end;
try
aXlsObj.Sheets[0].AsWideString[0, 0] := 'id';
aXlsObj.Sheets[0].AsWideString[1, 0] := 'formula';
aXlsObj.Sheets[0].AsWideString[2, 0] := 'lie1';
aXlsObj.Sheets[0].AsWideString[3, 0] := 'lie2';
for i:=1 to 10 do
begin
aXlsObj.Sheets[0].AsWideString[0, i] := Format('%d', [i+1]);
aXlsObj.Sheets[0].AsFormula[1, i] := Format('C%d + D%d', [i+1, i+1]);
aXlsObj.Sheets[0].AsFloat[2, i] := ( i * 5);
aXlsObj.Sheets[0].AsFloat[3, i] := ( i * 4);
end;
for i:=1 to 10 do
begin
aa := aXlsObj.Sheets[0].AsFormulaValue[1 ,i];
case aa.ValType of
fvFloat: ShowMessage(FloatToStr(aa.vFloat));
end;
end;
aXlsObj.Filename := aFileName;
aXlsObj.Write;
ShowMessage(Format('导出文件'+#13#10+'%s'+#13#10 +'成功!', [aFileName]));
finally
end;
end;
end.