其实 问题出在这里
e.Cells[1,1].Value := '4.5678'; 而不是 e.Cells[1,1].Value := 4.5678;
只要这里改变 就好用了 如下面
program Project1;
uses
ComObj,
ActiveX;
{$R *.res}
var
e : OleVariant;
begin
ActiveX.CoInitialize(nil);
e := CreateOleObject('Excel.Application');
e.WorkBooks.Add;
//e.Cells.NumberFormatLocal :='G/通用格式';
e.Cells.NumberFormatLocal :='¥#,##0.0000;¥-#,##0.0000';
//e.Cells[1,1].Value := 4.5678;
e.Cells[1,1].Value := '4.5678';
e.Visible := true;
end.