delphi 导出excel
Var
FExcel:OleVariant; //excel应用程序
FWorkBook :OleVariant; //工作表
Temsheet:OleVariant; //工作薄
FPicture:OleVariant;//图片
tmpstr:String;
range:variant;//范围
i,j,TemInt:integer;
TemFileName:String;
real_american_price:Double;
begin
if (kind = '小米清单') or (kind = '小商品清单') then
Begin
if cxxiaomilist.DataController.RecordCount = then
begin
Application.MessageBox(PChar('没有导出数据!'),'提示',MB_OK + MB_ICONWARNING);
abort;
end; SaveDialog1.Filter:='.xlsx';
if SaveDialog1.Execute then
begin
TemFileName:=SaveDialog1.FileName+'.xlsx'; Screen.Cursor:=CrHourGlass;
TemInt:=;
try
FExcel:= CreateoleObject('excel.Application');
FWorkBook:=FExcel.WorkBooks.Add(-); //新的工作表
Temsheet:=FWorkBook.Worksheets.Add;
Temsheet.Name:=kind;
except
Application.MessageBox('无法创建Excel文件, 请确认是否安装了Excel软件',
PChar(Application.Title), MB_OK + MB_ICONWarning);
Exit;
end; Temsheet.Select;
Temsheet.Range['A1','A1'].RowHeight := ; for i := to do
begin
Temsheet.Columns[i].ColumnWidth:=;
Temsheet.cells[,i] := '';
if i = then
Temsheet.cells[,i] := cxxiaomilist.Bands[].Caption;
if i = then
Temsheet.cells[,i] := cxxiaomilist.Bands[].Caption;
Temsheet.cells[,i] := cxxiaomilist.Bands[i-].Caption;
////////////////////////////////////////////////////////////
if i < then
Temsheet.cells[,i] := cxxiaomilist.Columns[i-].Caption;
end;
Temsheet.Columns[].NumberFormat:='#####################'; range:=Temsheet.Range[Temsheet.cells[,],Temsheet.cells[,]];//选定表格
range.select;
range.merge;
range:=Temsheet.Range[Temsheet.cells[,],Temsheet.cells[,]];//选定表格
range.select;
range.merge;
Temsheet.Cells[,].HorizontalAlignment:=-; //字居中
Temsheet.Cells[,] := cxxiaomilist.Bands[ + ].Caption; range:=Temsheet.Range[Temsheet.cells[,],Temsheet.cells[,]];//选定表格
range.select;
range.merge;
range:=Temsheet.Range[Temsheet.cells[,],Temsheet.cells[,]];//选定表格
range.select;
range.merge;
Temsheet.Cells[,].HorizontalAlignment:=-; //字居中
Temsheet.Cells[,] := cxxiaomilist.Bands[ + ].Caption; range:=Temsheet.Range[Temsheet.cells[,],Temsheet.cells[,]];//选定表格
range.select;
range.merge;
range:=Temsheet.Range[Temsheet.cells[,],Temsheet.cells[,]];//选定表格
range.select;
range.merge;
Temsheet.Cells[,].HorizontalAlignment:=-; //字居中
Temsheet.Cells[,] := cxxiaomilist.Bands[ + ].Caption; for I := to cxxiaomilist.DataController.RecordCount - do
begin
for j := to cxxiaomilist.ColumnCount do
begin
Temsheet.cells[ + i,j] := VarToStr(cxxiaomilist.DataController.GetValue(i,j-));
// if j = 10 then
// if TryStrToFloat(VarToStr(cxxiaomilist.DataController.GetValue(i,j)),real_american_price) then
// if real_american_price > 150 then
// begin
// Temsheet.Cells[4 + i,j].Interior.Color := clRed;
// Temsheet.Cells[4 + i,j + 4].Interior.Color := $0075C76B;
// end;
end;
end; // for i:=0 to DBGrid2.Columns.Count - 1 do
// begin
// Temsheet.Cells[TemInt,i+2]:=DBGrid2.Columns[i].Title.Caption;
// Temsheet.Cells[TemInt,i+2].HorizontalAlignment:=-4108; //字居中
// Temsheet.Cells[TemInt,i+2].Interior.Color:=clGray; //单元格背景色
// range:=Temsheet.Range[Temsheet.cells[TemInt,i+2],Temsheet.cells[TemInt,i+2]];//选定表格
// range.borders.linestyle:=1;//华线
// end;
//
// TemInt:=TemInt+1;
// //////////////////////////////////////////////
// j:=0;
// DBGrid2.DataSource.DataSet.First;
// while not DBGrid2.DataSource.DataSet.Eof do
// begin
// Temsheet.Cells[TemInt+j,1].Value:=j+1;
// Temsheet.Cells[TemInt+j,1].HorizontalAlignment:=-4108; //字居中
// range:=Temsheet.Range[Temsheet.cells[TemInt+j,1],Temsheet.cells[TemInt+j,1]];//选定表格
// range.borders.linestyle:=1;//华线
//
// for i:=0 to DBGrid2.Columns.Count - 1 do
// begin
// Temsheet.Cells[TemInt+j,i+2].Value:=DBGrid2.Fields[i].AsString;
// range:=Temsheet.Range[Temsheet.cells[TemInt+j,i+2],Temsheet.cells[TemInt+j,i+2]];//选定表格
// range.borders.linestyle:=1;//华线
// end;
// DBGrid2.DataSource.DataSet.Next;
// j:=j+1;
// end; Application.ProcessMessages; Screen.Cursor:=CrDefault;
FExcel.WorkBooks[].saveas(TemFileName);//保存文件
FExcel.workbooks[].close; //关闭工作表
Application.ProcessMessages;
MessageBox(Handle,'导出成功','提示',MB_OK);
//FExcel.visible:=true;
FExcel.quit; //关闭Excel
FExcel := unassigned;
//shellexecute(0,'open',PChar(ExtractFileName(TemFileName)),nil,PChar(ExtractFilePath(TemFileName)),SW_Show); end;
End;
delphi 导出excel的更多相关文章
- [转]Delphi导出Excel的设置操作
procedure CreatRepSheet(SheetName:String;PageSize,PageLay:Integer); {新建Excel工作簿.进行页面设置} begin {新建Exc ...
- Delphi导出Excel的设置操作
procedure CreatRepSheet(SheetName:String;PageSize,PageLay:Integer); {新建Excel工作簿.进行页面设置} begin {新建Exc ...
- delphi 导出到excel的7种方法
本文来自 爱好者8888 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/kpc2000/article/details/17066823?utm_source=cop ...
- Delphi 导出数据至Excel的7种方法【转】
一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery): ...
- Delphi 导出数据至Excel的7种方法
一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):bool ...
- delphi 导出到excel的第1种方法
第一种方法delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):bo ...
- Delphi DBGridEh导出Excel
unit Unit_DBGridEhToExcel; interface uses SysUtils, Variants, Classes, Graphics, Controls, Forms, Ex ...
- CxGrid导出Excel时清除颜色的设置
CxGrid导出Excel时清除颜色的设置 (2011-04-25 16:33:23) 转载▼ 标签: it 分类: Delphi http://www.radxe.com/?p=170 cxgrid ...
- C#使用Aspose.Cells导出Excel简单实现
首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...
随机推荐
- Dubbo 04 服务化最佳实现流程
Dubbo 04 服务化最佳实践 分包 建议将服务接口.服务模型.服务异常等均放在 API 包中,因为服务模型和异常也是 API 的一部分,这样做也符合分包原则:重用发布等价原则(REP),共同重用原 ...
- 斐波那契数列 Java 不同的实现方法所需要的时间比较
# 首先我们直接看一个demo以及他的结果 public class QQ { public static void main(String[] args) throws ParseException ...
- 标准C语言(10)
指针数组的每个存储区是一个指针类型的存储区,字符指针数组包含多个字符类型的指针,每个字符类型指针可以代表一个字符串.字符指针数组可以用来代表多个相关字符串,二维字符数组也可以用来记录多个相关字符串,通 ...
- java多线程的四种实现方式
主要有四种:继承Thread类.实现Runnable接口.实现Callable接口通过FutureTask包装器来创建Thread线程.使用ExecutorService.Callable.Futur ...
- 文件操作相关函数(POSIX 标准 open,read,write,lseek,close)
POSIX标准 open函数属于Linux中系统IO,用于“打开”文件,代码打开一个文件意味着获得了这个文件的访问句柄. int fd = open(参数1,参数2,参数3): int fd = op ...
- 判断当前环境是ios还是安卓
/** * @name 判断iOS */ export const isiOS = ()=>{ let u = navigator.userAgent; let iOs = !!u.match( ...
- 当心JavaScript奇葩的逗号表达式
看看下面的代码输出什么? let a = 2; switch (a) { case (3, 2, 5): console.log(1); break case (2, 3, 4): console.l ...
- Nagios-报错:UNKNOWN Can't connect to the JVM:
原因: 由于手动开启nrpe程序,产生临时文件,需要把产生的多余文件删除. [root@nagios ~]# ll /tmp/drwx------ 3 root root 17 Aug 12 13:4 ...
- Springboot设置session超时时间
按优先级高到低说: 第一种: spring boot 启动类里面: package com.mycenter; import org.mybatis.spring.annotation.MapperS ...
- [深度学习] pytorch学习笔记(2)(梯度、梯度下降、凸函数、鞍点、激活函数、Loss函数、交叉熵、Mnist分类实现、GPU)
一.梯度 导数是对某个自变量求导,得到一个标量. 偏微分是在多元函数中对某一个自变量求偏导(将其他自变量看成常数). 梯度指对所有自变量分别求偏导,然后组合成一个向量,所以梯度是向量,有方向和大小. ...