我用delphi保存excel文件之后,不能正常打开,显示“您打开的文件格式与扩展名指定的格式不一致,。。。”
我用delphi2010,excel是2007,代码:ExcelApp:=CreateOleObject('Excel.Application');WorkBook:=C...
我用delphi2010 ,excel是2007,
代码:
ExcelApp:= CreateOleObject('Excel.Application');
WorkBook:= CreateOleObject('Excel.sheet');
WorkBook:= ExcelApp.workbooks.add;
ExcelApp.cells[1,2].Value:='excel';
.................
WorkBook.SaveAs('C:\TEST.xls');
WorkBook.Close;
小弟刚学delphi,求高人指点~ 展开
代码:
ExcelApp:= CreateOleObject('Excel.Application');
WorkBook:= CreateOleObject('Excel.sheet');
WorkBook:= ExcelApp.workbooks.add;
ExcelApp.cells[1,2].Value:='excel';
.................
WorkBook.SaveAs('C:\TEST.xls');
WorkBook.Close;
小弟刚学delphi,求高人指点~ 展开
展开全部
2007以上的Excel文件应该是(*.xlsx),直接另存xls会弹出不能识别对话框。
另外,代码上面可以看一下我的测试:
var MyExc,myBook,mySheet,fn:OleVariant;
begin
//p:=EmptyParam;
MyExc:=CreateOleObject('Excel.Application');
myBook:=MyExc.WorkBooks.Add;
mySheet:=myBook.ActiveSheet;
mySheet.Cells[1,1]:='不好玩儿!';
MyExc.Visible:=True;
with dlgSave1 do
begin
DefaultExt:='xlsx';
if Execute() then
begin
fn:=FileName;
myBook.SaveAs(fn);
end;
end;
end;
另外,代码上面可以看一下我的测试:
var MyExc,myBook,mySheet,fn:OleVariant;
begin
//p:=EmptyParam;
MyExc:=CreateOleObject('Excel.Application');
myBook:=MyExc.WorkBooks.Add;
mySheet:=myBook.ActiveSheet;
mySheet.Cells[1,1]:='不好玩儿!';
MyExc.Visible:=True;
with dlgSave1 do
begin
DefaultExt:='xlsx';
if Execute() then
begin
fn:=FileName;
myBook.SaveAs(fn);
end;
end;
end;
追问
如果限制只输出.xls文件,但安装的是office2007,生成的文件用excel2003和2007都能正常打开,这样如何实现?
追答
Excel中目前没有很好的做法,我刚写的项目中有一个Word的同类问题,最终只能让用户自己在Word中选择另存。关键原因是,高版本的另存参数与低版本的另存参数不一致,如果强要另存的话,会导致部分装低版本的机器不能正常运行程序。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后缀不是EXCEL2007版本的后缀
再另存的时候直接输入*.xlsx后缀即可
再另存的时候直接输入*.xlsx后缀即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询