主题:求助:数据导出到excel问题
ttkl
[专家分:0] 发布于 2007-04-11 10:44:00
使用控件excelapplication,excelworkbook,excelworksheet 来操作数据导出到excel。
在 语句excelapplication1.workbooks.add(emptyparam,0);
出错 UNDECLARED IDENTIFIER:'EMPTYPARAM '
请指教。谢谢
回复列表 (共16个回复)
沙发
zimo [专家分:240] 发布于 2007-04-11 10:48:00
晕!!!
兄弟!咱俩的问题正好相反!!
我现在需要的是把EXCEL里的数据用那三个控件通过DBGRID导入数据库!!
呵呵!!!
不过 很显然,你的这个问题某也不会!!!
板凳
justinxu [专家分:40] 发布于 2007-04-11 12:08:00
试试改成下面的语法:
empty:OleVariant;
empty:=EmptyParam;
ExcelApplication1.Workbooks.add(empty,0);
3 楼
ttkl [专家分:0] 发布于 2007-04-12 08:25:00
还是不行啊
系统提示:emptyparam 没有定义.
在delphi5下运行正常,可到了delphi7下出现这个问题,是不是还需要添加别的东西,或者在delphi7下有变化呢?
4 楼
zimo [专家分:240] 发布于 2007-04-12 14:13:00
empty:Variant;
这样定义看看!
5 楼
ttkl [专家分:0] 发布于 2007-04-13 14:17:00
我试过,也不行。在delphi 5 下可以的,可到了delphi 7 就不行了。
6 楼
zimo [专家分:240] 发布于 2007-04-14 11:16:00
我用的就是 7,而且就是那样声明的啊 !!?
编译通过了,也好使!!
对了,仔接口部分还要USES COMOBJ;
7 楼
ttkl [专家分:0] 发布于 2007-04-17 15:50:00
使用
USES COMOBJ;
还是不识别emptyparam
8 楼
zimo [专家分:240] 发布于 2007-04-17 16:21:00
哦。。。。。
只能等高手来解决了 !!!
9 楼
lubby [专家分:310] 发布于 2007-04-17 16:51:00
在uses接口处先把这些全加上:
OleServer,ExcelXP或者Excel2000,ComOBJ,ShellAPI
定义一个全局变量
var ExcelApp:variant;//用来操作EXCEL的OLE对象
function OpenExcel(Excel:string;Model:integer):boolean;//*******打开EXCEL
begin
result:=true;
try
ExcelApp:=CreateOLEObject('Excel.Application');
except
Application.MessageBox('打开Excel失败',PChar(Application.Title),MB_ICONERROR);
Result := False;
end;
if model = 1 then//MODEL用来决定打的模式,显视还是隐藏
ExcelApp.Visible:=true
else
ExcelApp.Visible:=false;
//ExcelApp.Caption:='';
ExcelApp.WorkBooks.Open(Excel);
ExcelApp.worksheets[1].Activate;//定义工作表1为当前活动页
end;
procedure CloseExcel();//********************关闭EXCEL
begin
ExcelApp.WorkBooks.Close;
ExcelApp.Quit;
ExcelApp:=unassigned;
end;
function ReadExcelStr(row,col:integer):string;//*****读取EXCEL中某单元格内容
begin
result:=ExcelApp.cells[row,col].value;//row行,col列
end;
ReadExcelStr(row,col)只能返回字符型数据,如果要返回日期,时间等,要别外定义
否则返回的是自动转换过的值
直接将读取的数据赋值给dbgrid的对应位置即可
10 楼
ttkl [专家分:0] 发布于 2007-04-17 17:25:00
谢谢你的答复
可以给一段将查询结果导出到excel的代码吗?
我来回复