敬业的IT人 >> 编程开发 >> C++Builder >> TDataSetExport1.01使用说明

TDataSetExport1.01使用说明

敬业的IT人 互联网 佚名 2008-1-3 22:05:59

  这是一个可以导出TDataSet及其子类的数据到Excel或导出为html超文本文件的控件.可用于Delphi5/6或CBuilder5/6。

  本控件完全免费,可以应用在任何场合,但不得对本控件进行任何修改。

  特点:

  1.设置DataSet后能自动配置导出列,并且能自动侦测对应字段的设置。

  2.可以在设计时段就导出TDataSet的数据,这样可以方便在设计时调整导出格式,即使你的程序不需要使用本控件,也可以临时使用本控件导出你需要的数据。

  3.提供了丰富的属性进行设置,而缺省设置是较佳的,所以使用也十分方便,只要设置了DataSet,然后用ExecExport或ExportToExcel或ExportToHtmlFile就可以了。

  4.所有设置由控件自身保存,而不依赖TDataSet或TDBGrid。这样自制导出选项对话框等都十分方便。

  Excel导出方式会打开Excel,需要机器上安装了Excel2000.本控件1.01版本比1.0版增加了对excel页面设置的控制,并可自动设置每页页头.Excel导出方式速度极慢,这是由Excel ole对象本身决定的,没有办法。

  Html文件导出方式为文件流读写,速度很快,但在换行控制等方面不如Excel,你可以先高速导出为html文件,然后用Excel打开这个Html文件进行排版!方法很简单,以html文件方式进行导出,但文件扩展名改为.xls.这样导出完打开时就会用excel打开这个扩展名为xls但其实是html格式的文件。

  Excel可以将文件转换为DBF等格式。

  设计时段导出:先设置DataSet,然后激活DataSet,再设置Cols,然后双击TDataSetExport控件即可。

  编程参考:

  TDataSetExport的属性,事件,方法:

  TDataSetExport = class(TComponent)
  public
  property LineNumber: Integer;

  //当前正在处理的行
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;
  procedure ExportToExcel;

  //导出到Excel
  procedure ExportToHtmlFile;

  //导出为html超文本文件
  procedure ExecExport;

  //导出, 会弹出方式式选择对话框
  published
  property AppTitle:AnsiString;

  //窗体标题
  property Title:AnsiString;

  //标题栏
  property FootText:AnsiString;

  //页脚文本,支持[Date]和[Time]标记,分别表示当前日期和当前时间
  property FileName:AnsiString;

  //导出文件名,如果不为空,将自动将导出结果另存到此文件
  property BorderWidth:Integer;

  //框线宽度,如果为0,则无边线
  property TitleFont:TFont;

  //标题字体
  property FootFont:TFont;

  //页脚字体
  property HeadFont:TFont;

  //列头字体
  property Options:TDataSetExportOptions;

  //选项
  {
  ETEOShowApp:导出后显示应用程序
  ETEOShowWait:显示等待框
  ETEOShowProgress:在等待框中显示进度,只有在包含ETEOShowWait时才有效
  ETEOShowTitle:导出标题
  ETEOShowFoot:导出页脚
  ETEOShowHead:导出列头
  ETEOAutoOverWrite:自动覆盖,如果文件已存在,则不提示而直接覆盖
  ETEOShowPageNumber:在Excel中显示页码
  }
  property BorderColor:TColor;

  //框线颜色
  property BorderLineStyle:TLineStyle;

  //边线类型
  property Borderset:TBorderSets;

  //边框设定,可设置单元格的上下左右边框
  property DataSet:TDataSet;

  //要导出的数据集
  property PageSize;

  //Excel页面设置中的打印纸规格,下拉选择
  property PageOrientation;

  //Excel页面设置中的打印方向,纵向或横向
  property Cols:TETECols;

  //通过访问Cols.Items[]设置要导出的每一个列(TETECol),当设置DataSet时如果Cols为空会自动设置Cols为数据集的所有字段。
  property ExportProgress: TExportProgressNotifyEvent;

  //导出进度事件
  {
  AlreadyDoneLine:已完成的行数
  DisplayMess:显示文本,可修改
  }
  end;

  TETECol的属性事件方法,更改FieldName时会自动重新设置此导出列的属性
  property FieldName:AnsiString;

  //导出的字段,如果设置了DataSet则可以下拉选择
  property ColStr:AnsiString;

  //列名
  property DisplayFormat:AnsiString;

  //显示格式,可用于时间,数值,货币等字段
  property ColWidth:Integer;

  //列宽
  property MaxOutLen:Integer;

  //最大输出长度,用于截短太长的字段,如TMemoField
  property BoolFormat:TBoolFormat;

  //bool类型的输出格式,有中英文六种格式:是/否,真/假,Y/N,T/F,Yes/No,True/False
  property HAlignment:THAlign;

  //列单元格的水平对齐格式
  property VAlignment:TVAlign;

  //列单元格的垂直对齐格式
  property ColColor:TColor;

  //列单元格的背景颜色
  property ExcelAutoBreak:Boolean;

  //Excel列单元格的自动折行
  property HtmlAutoBreak:Boolean;

  //Html列单元格的自动折行,将会强制将一个单元格的内容每行的长度作限制。
  property IgnoreOldBreak:Boolean;

  //忽略原换行,只对Html导出有效
  property Visible:Boolean;

  //隐藏此列,注意在导出为Excel时隐藏列仍会对行的高度产生影响,如果一个列不导出,最好是删除
  property ColFont:TFont;

  //列单元格的字体
  property OnWriteCol:TColWriteNotifyEvent;

  //导出数据列写单元格时的事件,在此你可以根据字段值对每一个单元格的字体,背景,文本进行控制
  property ExcelOnlyText: AnsiString;

  //Excel会自动对数值,日期等数据进行处理,设置ExcelOnlyText为'可以强制此单元格为纯文本,这样就能保证在Excel中能看到控件原本导出的文本形式。如果要对某列进行统计,则应当将其清空。

进入讨论组讨论。
粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com