当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 轉摘Delphi作为一个出色的RAD,强大的数据库功能是其最重要的特色之一,但是操纵困难的QuickReport控件常常不能满足数据库报表的需要。
 

 

    摘要:{***************************************************************}{ }{ siow写的第一个控件 }{ }{用途:主要用于数据录入界面 }{特点:用选择代替输入,减少人工录入时的低级错误 }{版本:v1.1 }{已知bugs:1、在设计期如果数据源active就无法编译 }{ 2、connectionstring......
    摘要:最近在考虑mis系统界面的整体框架,决定使用mdi form+模块中的mdi child,但是mdi form的工作区总有讨厌的粗边。昨天下午从网上查到c++版本的解决方法,就花了点时间翻译成delphi的,呵呵,供大家参考。在mdi form中写入如下代码:interfacetfmmain = class(tform)... procedure formcreate(sender: tobjec......


如何把数据输入到excel特定的表格中

轉摘

delphi作为一个出色的rad,强大的数据库功能是其最重要的特色之一,但是操纵困难的quickreport控件常常不能满足数据库报表的需要.如果你的报表非常复杂,或者要求灵活地改变格式,那么使用excel作为报表服务器是一个不错的选择.delphi从版本5开始提供的excel组件极大地简化了ole自动化技术的应用.不过缺漏多多的帮助文件一直是delphi最令人诟病的地方,这些新组件也不例外,本文试图对此作一较详细地介绍. 【程序编程相关:第一次接触Delphi

【推荐阅读:偶的第二个Delphi程序

excel的对象模型是一个树状的层次结构,根是应用程序本身,工作簿workbook是根对象的属性对象,本文主要讨论的用于数据交换的worksheet则是工作簿的属性对象,详情参阅msoffice提供的excel vba帮助文件.在delphi中控制excel首先要与服务器程序建立连接,打开工作簿,然后与目标工作表交换数据,最后断开连接. 【扩展信息:修改XPMenu让ToolButton在

打开excel工作簿

  我们的例子从一个带有tstringgrid(当然要填上一些数据)与两个按钮的主窗体开始,从控制面板的servers页签中拖一个texcelapplication控件放到窗体上.首先把connectkind设为ckrunningornew,表示如果能够检测到运行的excel实例则与其建立联系,否则启动excel.另外,如果希望程序一运行即与服务器程序建立联系,可以把autoconnect属性设为true.

与excel建立联系只要一条语句就可以了:

excel . connect;

也许你已经注意到servers页签上还有其他几个excel控件,这些控件通过connectto方法可以与前面的excel联系在一起:

excelworkbook1.connectto(excel . activeworkbook);

excelworksheet1.connectto(excel . activesheet as _worksheet);

excelworksheet2.connectto(excel . worksheets.item[sheet2] as _worksheet);

要注意,使用connectto方法前必须先打开相应的工作簿或工作表,另外这些控件在多数情况下并不会带来额外的便利,因此最好只使用一个texcelapplication.

一旦与excel服务器建立联系,就可以创建新的工作簿:

var

wkbook : _workbook;

lcid : integer;

...

lcid := getuserdefaultlcid();

wkbook := excel.workbooks.add(emptyparam, lcid);

add函数的第一个参数用于定义新建工作簿所使用的模板,可以使用xlwbatchart.xlwbatexcel4intlmacrosheet. xlwbatexcel4macrosheet或者xlwbatworksheet常量,也可以是已有的xls文件名.这里的emptyparam是variants单元与定义的变量,表示使用默认的通用模板创建新工作簿.

如果打开已有的xls文档,则应把要打开的文件名作为第一个参数传递给open函数:

wkbook:=excel.workbooks.open(edtdesfile.text,emptyparam,emptyparam,

emptyparam,emptyparam,emptyparam,emptyparam,

emptyparam,emptyparam,emptyparam,emptyparam,

emptyparam,emptyparam,lcid);

要知道,所有的数据操作主要是针对活动工作表而言的,下面的语句使用一个_worksheet变量代表当前的活动单元格.如果知道工作表的名称,其中的索引号可以用工作表名代替:

wksheet:=wkbook.sheets[1] as _worksheet;

完成数据交换后需要保存工作簿:

excel.activeworkbook.saveas (myoutput, emptyparam,emptyparam,

emptyparam, emptyparam, emptyparam,

emptyparam, emptyparam, emptyparam,


...   下一页
    摘要:unit unit1;interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, bsskinctrls, bsskindata, businessskinform, bscalendar, extctrls, jpeg, menus, bsskinmenus, ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE