控制Excel的小问题。请帮看一下几句语句(50分)

  • 主题发起人 主题发起人 mhlang
  • 开始时间 开始时间
M

mhlang

Unregistered / Unconfirmed
GUEST, unregistred user!
我希望保存后打开电子表格中单元格(1,1)显示0002,实际却是2。应该怎样处理
var
ExcelApp,MyWorkBook:Variant;
begin
try
ExcelApp:=CreateOleObject('Excel.Application');
MyWorkBook:=CreateOleobject('Excel.Sheet');
except
application.Messagebox('操作失败,请确认已 经安装EXCEL.','',mb_OK+mb_IconStop);
Exit;
end;
MyworkBook:=ExcelApp.workBooks.Add;
Myworkbook.worksheets[1].Cells[1,1].Value := '0002';
......
end;
 
这可能是数字和字符你用的不对,默认是数字,当然你就显示是“2”了
 
Myworkbook.worksheets[1].Cells[1,1].NumberFormatLocal := "@";
Myworkbook.worksheets[1].Cells[1,1].Value := '0002';
 
楼上大哥:
Myworkbook.worksheets[1].Cells[1,1].NumberFormatLocal := "@";
报错,改为Myworkbook.worksheets[1].Cells[1,1].NumberFormatLocal := '@';
通过了,但没用。还是2不是0002
 
已调试通过:
procedure TForm1.Button1Click(Sender: TObject);
var
ExcelApp,MyWorkBook:Variant;
begin
try
ExcelApp:=CreateOleObject('Excel.Application');
excelapp.visible:=true;
// MyWorkBook:=CreateOleobject('Excel.Sheet');
except
application.Messagebox('操作失败,请确认已 经安装EXCEL.','',mb_OK+mb_IconStop);
Exit;
end;
MyworkBook:=ExcelApp.workBooks.Add;
Myworkbook.activesheet.Cells[1,1].NumberFormatLocal := '@';
Myworkbook.activesheet.Cells[1,1].Value := '0002';
end;
 
谢谢两位。把分分了吧
 
后退
顶部