应用EXCEL?(全部财富奉上)(30分)

  • 主题发起人 主题发起人 tningsy
  • 开始时间 开始时间
T

tningsy

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在DELPHI中应用制作数据报表???????????
 
使用delphi来控制excel,然后在程序中把数据写到excel中指定的位置,
 
兄台,我试了SEVERS页中的控件却完全摸不着头脑。
 
抄一段现成的 :)

var
eclApp,WorkBook:Variant;{声明为OLE Automation对象}
xlsFileName:string;
begin
{请先在主程序的uses中加入Comobj操作OLE对象的承数集}
xlsFileName:='D:/ConEcl/Book1.xls';
try
{创建OLE对象:Excel Application与WorkBook}
eclApp:=CreateOleObject('Excel.Application');
WorkBook:=CreateOleObject('Excel.Sheet');
except
ShowMessage('您的计算机未安装Microsoft Excel');
Exit;
end;
try
showmessage('下面演示新建一个XLS文件,并写入数据,最后关闭');
WorkBook:=eclApp.WorkBooks.Add;
eclApp.Cells(1,1):='字符型';
eclApp.Cells(2,1):='Excel文件';
eclApp.Cells(1,2):='Money型';
eclApp.Cells(2,2):='10.01';
eclApp.Cells(1,3):='日期型';
eclApp.Cells(2,3):='Date';
eclapp.visible:=true;

WorkBook.saveas(xlsFileName);
WorkBook.Close;
showmessage('下面演示打开刚创建的文件并修改其中的内容,然后由用户决定是否保存');
Workbook:=eclApp.workBooks.Open(XlsFileName);
eclApp.Cells(2,1):='Excel文件类型';
eclapp.Columns['A:B'].EntireColumn.AutoFit;
If messagedlg(xlsfilename+'文件已被修改,是否保存?',
mtconfirmation,[mbyes,mbno],0)=mryes then
workbook.save
else
workbook.saved:=True;{放弃修改}
workbook.Close;
eclapp.quit;//退出Exel Appliation
eclapp:=unassigned;{释放variant变量}
except
showmessage('不能正确操作文件,可能是该文件已被其它程序打开。');
workbook.close;
eclapp.quit;//退出Exel Appliation
eclapp:=unassigned;{释放variant变量}
end;
end;


 
3点建议:
1.仔细本ole论坛的帖子,基本能搞定
2.操纵的方法基本和vba相同
3.用server的component时参数是oleVariant的,要全部写上,没有的用emptyparam代替
最后是多作试验,看看范例.大家共同学习,共同进步
 
再送一点:delphi的demo有例子!
 
后退
顶部