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的更多相关文章

  1. [转]Delphi导出Excel的设置操作

    procedure CreatRepSheet(SheetName:String;PageSize,PageLay:Integer); {新建Excel工作簿.进行页面设置} begin {新建Exc ...

  2. Delphi导出Excel的设置操作

    procedure CreatRepSheet(SheetName:String;PageSize,PageLay:Integer); {新建Excel工作簿.进行页面设置} begin {新建Exc ...

  3. delphi 导出到excel的7种方法

    本文来自 爱好者8888 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/kpc2000/article/details/17066823?utm_source=cop ...

  4. Delphi 导出数据至Excel的7种方法【转】

    一; delphi 快速导出excel   uses ComObj,clipbrd;   function ToExcel(sfilename:string; ADOQuery:TADOQuery): ...

  5. Delphi 导出数据至Excel的7种方法

    一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):bool ...

  6. delphi 导出到excel的第1种方法

    第一种方法delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):bo ...

  7. Delphi DBGridEh导出Excel

    unit Unit_DBGridEhToExcel; interface uses SysUtils, Variants, Classes, Graphics, Controls, Forms, Ex ...

  8. CxGrid导出Excel时清除颜色的设置

    CxGrid导出Excel时清除颜色的设置 (2011-04-25 16:33:23) 转载▼ 标签: it 分类: Delphi http://www.radxe.com/?p=170 cxgrid ...

  9. C#使用Aspose.Cells导出Excel简单实现

    首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...

随机推荐

  1. 标准C语言(3)

    操作符用来描述对数字的处理规则根据操作符所需要配合的数字个数把操作符分为单目操作符,双目操作符和三目操作符 C语言里用+,-,*和/表示加减乘除四则运算,它们都是双目操作符,如果参与除法计算的两个数字 ...

  2. java多线程的四种实现方式

    主要有四种:继承Thread类.实现Runnable接口.实现Callable接口通过FutureTask包装器来创建Thread线程.使用ExecutorService.Callable.Futur ...

  3. 〇三——css常规使用

    我们在前面已经学习了常用的html基础,就可以画出一个最直接的‘裸体’ ,那么这么画出来的比较简陋,那怎么能让他变得更漂亮呢?这里就引出今天要讲的——css 我们先看看怎么把页面加上修饰的效果 < ...

  4. 简单了解Oracle的回滚段

    因为上一次研究了Oracle的事务一致性,中间查阅资料的时候,看到这个地方与回滚段有关.所以就罗列了以下简单的知识.更为深层次的就不再深挖了,个人感觉对于事务的一致性和隔离级别是开发经理应该了解的,但 ...

  5. java 8 foreach获取索引

    当 forEach 需要索引 https://segmentfault.com/a/1190000007881498 或者采用 List<string> stringList = new ...

  6. Java I/O(三)各种Reader和Writer读写器、RandomAccessFile随机访问文件、序列化

    2019 01/01 八.Reader和Writer读写器 前面讲的输入输出流的基本单位都是字节,因此可以称为“字节流”,读写器是以字符为基本单位,可以称为“字符流”.它们的使用方法非常相似,因此我考 ...

  7. docker资源隔离实现方式

    默认情况下,一个容器没有资源限制,几乎可以使用宿主主机的所有资源.docker提供了控制内存.cpu.block io.但是实际上主要是namespace和cgroup控制资源的隔离. Docker的 ...

  8. LINUX装机问题:无法使用“Ctrl+Alt+[F1~F6]”快捷键切换到终端

    用VMware装LINUX虚拟机之后,你会发现在X Window的登陆界面无法使用“Ctrl+Alt+[F1~F6]”快捷键切换到终端,这是因为VMware默认的快捷键也是Ctrl+Alt,所以你只需 ...

  9. JavaScript的数组API函数

    ㈠数组转字符串 ⑴String(arr):将arr中的每个元素转为字符串,用逗号分隔     固定套路:对数组拍照:用于鉴别是否数组被修改过 ⑵arr.join("连接符"):将a ...

  10. react-router中,<switch>

    有<Switch>标签,则其中的<Route>在路径相同的情况下,只匹配第一个,这个可以避免重复匹配: 无<Switch>标签,则其中的<Route>在 ...