delphi stringgrid导出为excel
2024-08-29 01:18:42
procedure TLiYQBYJL.btnBYJLTJDCClick(Sender: TObject);
var
ExcelApp, workbook, sheet: Variant;
col, row, j, i: Integer;
str: string;
begin
inherited;
dlgSave1.Filter := 'Excel2007格式文件|*.xlsx|Excel2003格式文件|*.xls';
try
ExcelApp := CreateOleObject('Excel.Application'); (* 创建一个Excel的OLE对象,使用OLE去创建Excel文件时,需要uses ComObj *)
except
InformationDlg(Tit, '请安装EXCEL');
Exit;
end;
workbook := ExcelApp.WorkBooks.Add; (* 创建一个WorkBook *)
sheet := ExcelApp.Sheets[]; (* 创建一个Sheet变量 *)
if not cdsBYJLTJ.IsEmpty then
begin
sheet.cells[, ] := '保养项目';
for col := to cdsBYJLTJ.FieldCount - do
begin
sheet.cells[, col + ] := cdsBYJLTJ.Fields[col].FieldName;
end;
with cdsBYJLTJ do
begin
First;
i := ; //行 j列
while not Eof do
begin
for col := to FieldCount - do
begin
sheet.Cells[i, col + ] := cdsBYJLTJ.Fields[col].AsString;
end;
Inc(i);
Next;
end;
end;
end;
for col := to SGBYJLTJ.ColCount do
begin
ExcelApp.ActiveSheet.Columns[col].Columnwidth := ;
end;
ExcelApp.DisplayAlerts := false; //不提示任何警告信息
if dlgSave1.Execute then (* 如果点击了保存对话框的"保存"按键的话,将当前活动的Workbook保存到SaveDialog指定的位置 *)
begin
if FileExists(dlgSave1.FileName) then
begin
if not QuestionDlg(Tit, '文件名已存在,是否覆盖?') then
begin
Exit;
end
else
begin
ExcelApp.ActiveWorkbook.saveas(dlgSave1.FileName);
end; end;
// ExcelApp.ActiveWorkbook.saveas(dlgSave1.FileName);
end
else (* 如果点击了保存对话框的"取消"按键的话,放弃存盘,这句话一定要加上,否则,在点击"取消"按键时,会出现问题 *)
ExcelApp.ActiveWorkBook.Saved := True;
// ExcelApp.DisplayAlerts := false; //不提示任何警告信息
workbook.Close; (* 最后,将WorkSheet关闭 *)
ExcelApp.quit; (* 退出ExcelApp *)
ExcelApp := unassigned; (* 使用unassigned时,要uses Variants *)
end;
最新文章
- 一对一还是一对多? MVP设计前提
- IOS开发基础知识--碎片19
- 不用写Windows服务实现定时器功能(FluentScheduler )
- java list随机打乱
- 浅谈标签构建——TagBuilder
- ps -aux返回超过100%
- IDFA的值什么时候会发生改变
- hdu1992(递推)
- python之sqlalchemy的使用
- JS数组遍历
- jQuery.extend()参数
- Confluence 6 手动运行和修改
- Oracle 之 树查询 START WITH ... CONNECT BY ...子句
- Flink – submitJob
- 问题 1084: 用筛法求之N内的素数。
- HDU - 2819 Swap(二分图最大匹配)
- Javascript中变量提升的问题(五)
- MySQL 5.7 时间显示修改(log_timestamps UTC)
- 字体格式类型(.eot/.otf/.woff/.svg)
- [na]数据包由于isp不稳定丢包-seq&;ack
热门文章
- 08_Hive中的各种Join操作
- XY//电容
- Protocol handler start failedCaused by: java.net.SocketException: Permission denied
- PAT乙级1037
- hbase实践之HFile结构
- STM32调试利器之ITM
- 记录 vant Picker 选择器,实现三级联动,传对应省市区code值
- 【方法】JS判断当前页面环境:PC端/移动端,安卓/IOS,微信环境/QQ环境等等
- PHP mysqli_free_result() 函数
- jQuery系列(十三):实现轮播