Excel的小数位:写入的是4.5678,转到Excel中变成了4.57,即使设置格式也不行(300分)

  • 主题发起人 主题发起人 轻舞肥羊
  • 开始时间 开始时间
逻辑鱼:
不行,显示为¥4.5700
币符是绝对不能有的,该死的四舍五入.
 
program Project1;

uses
ComObj,
ActiveX;

{$R *.res}

var
e : OleVariant;
begin
ActiveX.CoInitialize(nil);
e := CreateOleObject('Excel.Application');
e.WorkBooks.Add;
e.Cells.NumberFormatLocal :='¥#,##0.0000;¥-#,##0.0000';
e.Cells[1,1].Select;
e.Cells[1,1].FormulaR1C1 := '4.56789';
e.Visible := true;
end.

这样可以 你试试看
 
其实 问题出在这里
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.
 
楼上的请看清楚题目,不能是字符串!!!

感觉把我当白痴一样:(

下次我再注册个账号,叫 传说中的菜鸟 好了
 
用下面的代码吧:
ExcelApp.Cells[1,1].NumberFormat:= 'G/通用格式';
ExcelApp.Cells[1,1].Value2 := 4.5678;

呵呵~~~~~~~~~~~~~~~~~~~
 
测试成功,放分
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
653
import
I
I
回复
0
查看
610
import
I
后退
顶部