zoukankan
html css js c++ java
stringgrid to execl
NativeExcel
procedure Tsave.CopySGDataToExcel(Target: TStringGrid;FileName: string);
var
iCount, jCount: Integer;
XLApp: Variant;
Sheet: Variant;
begin
Screen.Cursor := crHourGlass;
if not VarIsEmpty(XLApp) then
begin
XLApp.DisplayAlerts := False;
XLApp.Quit;
VarClear(XLApp);
end;
//通过ole创建Excel对象
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end;
SaveDialog1.DefaultExt := 'xls';
SaveDialog1.FileName := FileName;XLApp.WorkBooks.Add; //你要把数据放在那里啊,先生成个文件在e:1.xls
XLApp.WorkBooks[1].WorkSheets[1].Name := 'sheet1';
Sheet := XLApp.Workbooks[1].WorkSheets['sheet1'];
Target.Row := 0;
for iCount := 0 to Target.RowCount - 1 do
begin
for jCount := 0 to Target.ColCount - 1 do
Sheet.cells[iCount + 1, jCount + 1] := Target.Cells[jCount,iCount];
Target.Row := iCount;
end;
XLApp.ActiveWorkbook.SaveAs(FileName:=FileName);
Screen.Cursor := crDefault;
XLApp.ActiveWorkbook.Close;
end;
上面这个方法刚好是stringgrid导出Excel的方法,我自己用过的。
当然你要是用advstringgrid的话还有更简单的方法,不用语句,靠控件就能实现。
查看全文
相关阅读:
.NET Core/.NET5/.NET6 开源项目汇总7:电商项目
.NET Core/.NET5/.NET6 开源项目汇总6:框架与架构设计(DDD、云原生/微服务/容器/DevOps/CICD等)项目
.NET Core/.NET5/.NET6 开源项目汇总5:(权限)管理系统项目
.NET Core/.NET5/.NET6 开源项目汇总4:CMS、Blog项目
.NET Core/.NET5/.NET6 开源项目汇总3:工作流组件
.NET Core/.NET5/.NET6 开源项目汇总2:任务调度组件
.NET Core/.NET5/.NET6 开源项目汇总1:常用必备组件
.NET平台系列31:.NET团队送给.NET开发人员的云原生学习资源汇总
.NET平台系列30:.NET Core/.NET 学习资源汇总
.NET平台系列29:.NET Core 跨平台奥秘
原文地址:https://www.cnblogs.com/maweiwei/p/12201828.html
最新文章
米拓建站系统1day审计与利用
GDB调试堆漏洞之house of spirit
堆利用之unsafe unlink
Windows 取证之注册表
Windows 取证之$MFT
堆利用之Chunk extend Overlapping
通过几道CTF题学习yii2框架
JWT了解一下
Elasticsearch系列(2):Kibana安装与基本REST API
记录一种基于Java的MathML转图片的方法
热门文章
Elasticsearch系列(1):安装与介绍
热部署插件JRebel的安装和使用
Zookeeper系列(6):使用Zookeeper作为配置中心
Zookeeper系列(5):使用Zookeeper作为注册中心
Zookeeper系列(4):搭建Zookeeper集群
Zookeeper系列(3):使用Java操作Zookeeper
Zookeeper系列(2):客户端基本命令与监听机制
.NET Core/.NET5/.NET6 开源项目汇总10:实用工具
.NET Core/.NET5/.NET6 开源项目汇总9:客户端跨平台UI框架
.NET Core/.NET5/.NET6 开源项目汇总8:Blazor项目
Copyright © 2011-2022 走看看
var
iCount, jCount: Integer;
XLApp: Variant;
Sheet: Variant;
begin
Screen.Cursor := crHourGlass;
if not VarIsEmpty(XLApp) then
begin
XLApp.DisplayAlerts := False;
XLApp.Quit;
VarClear(XLApp);
end;
//通过ole创建Excel对象
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end;
SaveDialog1.DefaultExt := 'xls';
SaveDialog1.FileName := FileName;XLApp.WorkBooks.Add; //你要把数据放在那里啊,先生成个文件在e:1.xls
XLApp.WorkBooks[1].WorkSheets[1].Name := 'sheet1';
Sheet := XLApp.Workbooks[1].WorkSheets['sheet1'];
Target.Row := 0;
for iCount := 0 to Target.RowCount - 1 do
begin
for jCount := 0 to Target.ColCount - 1 do
Sheet.cells[iCount + 1, jCount + 1] := Target.Cells[jCount,iCount];
Target.Row := iCount;
end;
XLApp.ActiveWorkbook.SaveAs(FileName:=FileName);
Screen.Cursor := crDefault;
XLApp.ActiveWorkbook.Close;
end;
当然你要是用advstringgrid的话还有更简单的方法,不用语句,靠控件就能实现。