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.