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格式的文件下载(网页输出) ...
随机推荐
- RMQ最大值最小值
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using ...
- Java-20180419
1.leetcode第二题 给定两个链表,逆序转换为数值相加,在逆序输出新链表. Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 - ...
- AWR报告提取方法
AWR报告提取方法 关键字 AWR报告 内容描述 AWR报告的提取方法 涉及设备 oracle 10g 操作说明 [问题现象描述] 现场提取AWR报告 [分析结论及解决方案] Awr报告生成方法 进入 ...
- HTML5 Geolocation学习
GeolocationAPI学习,我写的挺枯燥的,直接跳到最后看示例. 5.1 位置信息 HTML5 Geolocation API的使用方法相当简单.请求一个位置信息,如果用户同意,浏览器就会返回位 ...
- HDU6740 2019CCPC秦皇岛赛区 J. MUV LUV EXTRA
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6740思路:求小数部分后k位的真前后缀 倒着kmp就好 #include<bits/stdc++.h& ...
- Spring整合Hibernate实现Spring Data JPA (简单使用)
直接上代码: pom.xml <!-- hibernate start --> <!-- spring data jpa --> <dependency> < ...
- C++--- Lambda匿名函数表达式
视频教程:https://www.bilibili.com/video/av66419552/ 格式: [capture](parameters)mutable->returm-type{}; ...
- 什么是JavaScript循环结构?
㈠什么是循环结构 ⑴什么是循环? 反复一遍又一遍的做着相同(相似)的事情 ⑵循环中的两大要素 ①循环条件:什么时候开始,什么时候结束 ②循环操作:循环体,循环过程中,干了什么 ㈡循环结构—while循 ...
- docker和Dockerfile
目录: 1.docker为什么会出现? 2.docker的理念 3.容器化技术 4.docker三要素 5.docker安装 6.docker帮助命令 7.Docker阿里云镜像加速器配置. 8.do ...
- BZOJ 3732: Network Kruskal 重构树
模板题,练练手~ Code: #include <cstdio> #include <algorithm> #define N 80000 #define setIO(s) f ...