TDataSetExport1.01使用说明
这是一个可以导出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中能看到控件原本导出的文本形式。如果要对某列进行统计,则应当将其清空。
- 最新文章
- 用游戏操纵杆摸拟鼠标[01-03]
- C++Builder IDE使用技巧与快捷键[01-03]
- 让应用程序禁止Windows屏幕保护[01-03]
- 用C++Builder编写发送电子邮件软件[01-03]
- 用C++ Builder实现桌布自动更新[01-03]
- 用C++ Builder3 制作记事本[01-03]
- 相关文章
- BCB环境下CORBA实做之客户端[01-03]
- BCB环境下CORBA实做之自己动手(上)[01-03]
- Borland C++ Builder的API后门[01-03]
- Borland C++ Builder 5 企业版使用BDE..[01-03]
- 从TColor对象中解析出红、绿、蓝的亮度[01-03]
- 用C++Builder写COM版的Hello world[01-03]
