在网上下载到下面的类,导出excel文件,什么都OK了,就差如何控制单元格的背景颜色。
--------------------------------------------------------------------
unit DBGridEhToExcel;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ComCtrls, ExtCtrls, StdCtrls, Gauges, DBGridEh, ShellApi;type
TTitleCell = array of array of String; //分解DBGridEh的标题
TDBGridEhTitle = class
private
FDBGridEh: TDBGridEh; //对应DBGridEh
FColumnCount: integer; //DBGridEh列数(指visible为True的列数)
FRowCount: integer; //DBGridEh多表头层数(没有多表头则层数为1)
procedure SetDBGridEh(const Value: TDBGridEh);
function GetTitleRow: integer; //获取DBGridEh多表头层数
function GetTitleColumn: integer; //获取DBGridEh列数
public
//分解DBGridEh标题,由TitleCell二维动态数组返回
procedure GetTitleData(var TitleCell: TTitleCell);
published
property DBGridEh: TDBGridEh read FDBGridEh write SetDBGridEh;
property ColumnCount: integer read FColumnCount;
property RowCount: integer read FRowCount;
end;
procedure TDBGridEhToExcel.WriteFloatCell(const AValue: Double; const IncStatus: Boolean=True);
begin
CXlsNumber[2] := FRow;
CXlsNumber[3] := FCol;
CXlsNumber[4] := $1D + FCol; Stream.WriteBuffer(CXlsNumber, SizeOf(CXlsNumber));
Stream.WriteBuffer(AValue, 8); if IncStatus then
IncColRow;
end;只贴一个事件, CXlsNumber[4] := $1D + FCol;可控制他的单元格显示边框,但要控制颜色不知道如何做。
--------------------------------------------------------------------
unit DBGridEhToExcel;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ComCtrls, ExtCtrls, StdCtrls, Gauges, DBGridEh, ShellApi;type
TTitleCell = array of array of String; //分解DBGridEh的标题
TDBGridEhTitle = class
private
FDBGridEh: TDBGridEh; //对应DBGridEh
FColumnCount: integer; //DBGridEh列数(指visible为True的列数)
FRowCount: integer; //DBGridEh多表头层数(没有多表头则层数为1)
procedure SetDBGridEh(const Value: TDBGridEh);
function GetTitleRow: integer; //获取DBGridEh多表头层数
function GetTitleColumn: integer; //获取DBGridEh列数
public
//分解DBGridEh标题,由TitleCell二维动态数组返回
procedure GetTitleData(var TitleCell: TTitleCell);
published
property DBGridEh: TDBGridEh read FDBGridEh write SetDBGridEh;
property ColumnCount: integer read FColumnCount;
property RowCount: integer read FRowCount;
end;
procedure TDBGridEhToExcel.WriteFloatCell(const AValue: Double; const IncStatus: Boolean=True);
begin
CXlsNumber[2] := FRow;
CXlsNumber[3] := FCol;
CXlsNumber[4] := $1D + FCol; Stream.WriteBuffer(CXlsNumber, SizeOf(CXlsNumber));
Stream.WriteBuffer(AValue, 8); if IncStatus then
IncColRow;
end;只贴一个事件, CXlsNumber[4] := $1D + FCol;可控制他的单元格显示边框,但要控制颜色不知道如何做。
解决方案 »
- 用AdoDataset + XML + UDP 做三层架构 是否可行?
- 请高手指点! delphi开发的软件,SQL2000数据库,在2K系统保存数据时,有些记录丢失
- 我点TREEVIEW中的一个ITEM怎么获取它的坐标?
- 用setupapi安装modem(标准33600,其实就是CDMA),不弹出硬件安装向导,怎么做呀?急!急!急!急!急!急!急!急!急!急!急!急!急!
- 三层速度的问题!~~~(SocketConnection)
- 能不能让一个对象方法作回调函数?
- 用了Delphi 4年,现在快饿死了!:(
- 大家来讨论一下开放源代码的得与失
- 我在DELPHI5中用标准的API方法在窗体上进行绘图,VC6下同样的API代码运行速度竟比DELPHI5快一倍,请那位高手解释一下为什么会这样?
- 该问题有点难度,快来帮帮我啊!
- delphi中$符号是什么意思?
- access保存数据时提示 键列不足,更新影响到多行
ExcelApp.ActiveCell.Borders.Color := clRed;
ExcelApp.ActiveCell.Interior.Color := clRed;