导出Excel1 - 项目分解篇

我们在所有的MIS系统(信息管理系统)中都能见到他。所以我们把这个通用功能提出来。

项目名称:车辆信息管理系统(中石化石炼)

项目负责人:xiaobin

项目时间:2006.12 - 2007.2

Excel功能模块:

单击事件(Event):

procedure EXCELE1Click(Sender: TObject);

procedure TfrmMain.EXCELE1Click(Sender: TObject);
var
 colnum,slnum,i:integer;
 headstr:string;
begin
  if DataSource_carNum.DataSet.RecordCount=0 then Exit;
  //
  DataModule_ado.ADODataSet_Excel.Close;
  DataModule_ado.ADODataSet_Excel.Open;
  //
  TreeView1.Items.Clear;
  Memo2.Lines.Clear ;
  colnum:=DataModule_ado.ADODataSet_Excel.FieldDefList.Count;
  Maxnum :=1;
  //slnum:=0;
  for i:=1 to colnum do
  begin
   slnum:=1;
   headstr:=DataModule_ado.ADODataSet_Excel.FieldDefList[i-1].Name;
   while Pos('|',headstr) > 0 do
     begin
      Delete(headstr, 1, Pos('|', headstr));
      slnum:=slnum+1;
     end;
    if slNum>Maxnum then Maxnum:=slNum;
  end;
  treeADO(DataModule_ado.ADODataSet_Excel,TreeView1);
  try
    myexcel := createoleobject('excel.application');
    myexcel.application.workbooks.add;
    myexcel.caption:=pnlLog.Caption;
    myexcel.application.visible:=true;
    workbook:=myexcel.application.workbooks[1];
    worksheet:=workbook.worksheets.item[1];
  except
    application.MessageBox('没有发现Excel,请安装office!','提示信息',
                                                        MB_OK + MB_ICONINFORMATION);
    exit;
  end;
  WriteheaderADO(DataModule_ado.ADODataSet_Excel,pnlLog.Caption,9,TreeView1);
  WriteExcelData(DataModule_ado.ADODataSet_Excel);
  //页脚设置
  myexcel.activesheet.pagesetup.centerfooter:='第&P页';
  //
  worksheet.saveAs(excelDir+'\'+dateTimeStrFull+'lcbzsx.xls');
  //workbook.close;
  //myexcel.quit;
  //add logmemo
  frame1.addMemoLog(EXCELE1.Caption);
end;

代码注释:

第6行:如果DataSource(Delphi控件)当前无数据,则退出此事件。

第8行:DataModule_ado为DataModule(Delphi控件 - 数据容器)

第13行:根据ADODataSet_Excel(Delphi控件 - ADODataSet)字段列表,得到Excel列数。

第20-24行:多表头层数计算。

大部分我们用:父表头|子表头|孙表头,来表示一个多表头数据。

     第27行:执行treeADO子过程,把表头的层次关系用TreeView(Delphi控件)表示出来。

第28-39行:初始化Excel对象。

myExcel:variant;                    //电子表格对象

workbook:olevariant;           //电子表格部分

worksheet:olevariant;          //电子表格工作簿

第40行:执行WriteheaderADO子过程,写Excel表头。

第41行:执行WriteExcelData子过程, 写Excel数据。

导出Excel1 - 项目分解篇,布布扣,bubuko.com

时间: 2024-10-29 19:07:32

导出Excel1 - 项目分解篇的相关文章

导出Excel2 - 项目分解篇

http://www.ytzww.com/book/html/117646/19911985.html http://www.ytzww.com/book/html/117646/19911986.html http://www.ytzww.com/book/html/117646/19911987.html http://www.ytzww.com/book/html/117646/19911988.html http://www.ytzww.com/book/html/117646/1991

活动图(Activity Diagram) - 项目分解篇

根据登录用户的情况来进行各模块的操作. 1. 操作员 (1) 列车顺序表 (2) 货车装卸报告(数据处理) (3) 货车装卸报告(查看) 2. 管理员 (1) 密码管理 (2) 查看日志 (3) 车种设置 (4) 延时费设置 (5) 打印通知单(延时费) 其Activity Diagram如下: Rational Rose文件下载:flowChart1.mdl 活动图(Activity Diagram) - 项目分解篇,布布扣,bubuko.com

[转] 关于 Eclipse 导出 Android项目 JavaDoc 详细过程

关于Eclipse 导出JavaDoc过程中,遇到的问题 ,google 了一下 ,网友们 总说不一 ,最终 还是 搞定了 现在分享给大家 希望对大家有所帮助 用Eclipse默认的 JavaDoc需要注意 有两个问题   1.   找不到关于Android相关的类   2. 不支持中文/乱码 , 后者是编码问题  编码 GBK 的不可映射字符   选中项目右键 --->Export--- 如图 点击 下一步 只需要 选择src 目录 点击 Next下一步 这儿 注意 两个问题 一个 是 编码问

Android开源项目第二篇——工具库篇

本文为那些不错的Android开源项目第二篇——开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和

pip requirements导出当前项目所用的包list列表

1.导出当前项目pip安装的包表 pip freeze > 项目目录/requirements.txt 2.根据导出的pip安装包表安装pip包 pip install -r 项目目录/requirements.txt

Myeclipse的使用方法-导入、导出Java 项目

1.导入项目 当下载了包含Eclipse 项目的源代码文件后,我们可以把它导入到当前的Eclipse 工作区然后编辑和查看.点击菜单File > Import,然后在弹出的Import 对话框中展开General目录,选择Existing Projects into Workspace,接着点击Next 按钮.当选中单选钮Select root directory:时可以点击Browse-按钮选中包含项目的文件夹,如果包含项目的话就可以在中间的Projects 列表框中显示:而当选中单选钮Sel

Android开源项目第一篇——个性化控件(View)篇

本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其他如Dialog.Toast.EditText.TableView.Activity Animation等等. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Andr

IntelliJ IDEA教程之Andriod项目开发篇(全集)

此教程图文讲解使用IntelliJ IDEA开发Andriod项目,人门篇,希望对初学者有所帮助! IntelliJ IDEA教程之Andriod项目开发篇:准备工作 IntelliJ IDEA教程之Andriod项目开发篇: 新项目设置 IntelliJ IDEA教程之Andriod项目开发篇:现有项目导入设置 IntelliJ IDEA教程之Andriod项目开发篇:理解项目结构 IntelliJ IDEA教程之Andriod项目开发篇:构建应用程序配置 IntelliJ IDEA教程之An

C# Xamarin移动开发项目实战篇

一.课程介绍 在前面阿笨的<C# Xamarin移动开发基础进修篇>课程中,大家已经熟悉和了解了Xamarin移动App开发的基础知识和原理.本次分享课<C# Xamarin移动开发项目实战篇>,阿笨将直接带领大家进入Xamarin for android的实战项目环节,真真体验一下xamarin开发的魅力吧. 由于阿笨学习Xamarin也是"半路出家","赶鸭子上架"的状态,视频教学中关于Xamarin for Android的知识点难免有