delphi使用ado导出excel(2)

简介:
var
  FileName, s: String;
  i,n:integer;
  excelapp:Variant;
  Temp_Worksheet: _WorkSheet;
begin
  excelapp := CreateOleObject('excel.application');
  excelapp.Visible := true;
  excelapp.Caption := '临床路径每天执行情况表';
  ExcelApp.WorkBooks.Add;
  ExcelApp.WorkSheets[2].Activate;

  //导出
  if Self.qry_pat.RecordCount = 0 then
  begin
    s := '没有导出数据...';
    Application.MessageBox(PChar(s), PChar(Application.Title),
      MB_OK or MB_ICONERROR);
    Exit;
  end;
  Application.ProcessMessages;

  excelapp.Range['a1', 'a'+inttostr(qry_pat.RecordCount)].ColumnWidth := 20;
  excelapp.cells.Item[1,1] := qry_pat.Fields[1].FieldName;
  excelapp.Cells.Item[1,1].Font.name := '宋体';
  excelapp.Cells.Item[1,1].Font.bold := true;
  excelapp.Cells.Item[1,1].orientation := xlhorizontal;
  excelapp.Cells.Item[1,1].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,1].font.size := 11;
  excelapp.cells.Item[1,2] := qry_pat.Fields[2].FieldName;
  excelapp.Cells.Item[1,2].Font.name := '宋体';
  excelapp.Cells.Item[1,2].Font.bold := true;
  excelapp.Cells.Item[1,2].orientation := xlhorizontal;
  excelapp.Cells.Item[1,2].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,2].font.size := 11;
    excelapp.cells.Item[1,3] := qry_pat.Fields[3].FieldName;
  excelapp.Cells.Item[1,3].Font.name := '宋体';
  excelapp.Cells.Item[1,3].Font.bold := true;
  excelapp.Cells.Item[1,3].orientation := xlhorizontal;
  excelapp.Cells.Item[1,3].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,3].font.size := 11;
    excelapp.cells.Item[1,4] := qry_pat.Fields[4].FieldName;
  excelapp.Cells.Item[1,4].Font.name := '宋体';
  excelapp.Cells.Item[1,4].Font.bold := true;
  excelapp.Cells.Item[1,4].orientation := xlhorizontal;
  excelapp.Cells.Item[1,4].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,4].font.size := 11;
    excelapp.cells.Item[1,5] := qry_pat.Fields[5].FieldName;
  excelapp.Cells.Item[1,5].Font.name := '宋体';
  excelapp.Cells.Item[1,5].Font.bold := true;
  excelapp.Cells.Item[1,5].orientation := xlhorizontal;
  excelapp.Cells.Item[1,5].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,5].font.size := 11;
    excelapp.cells.Item[1,6] := qry_pat.Fields[6].FieldName;
  excelapp.Cells.Item[1,6].Font.name := '宋体';
  excelapp.Cells.Item[1,6].Font.bold := true;
  excelapp.Cells.Item[1,6].orientation := xlhorizontal;
  excelapp.Cells.Item[1,6].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,6].font.size := 11;
    excelapp.cells.Item[1,7] := qry_pat.Fields[7].FieldName;
  excelapp.Cells.Item[1,7].Font.name := '宋体';
  excelapp.Cells.Item[1,7].Font.bold := true;
  excelapp.Cells.Item[1,7].orientation := xlhorizontal;
  excelapp.Cells.Item[1,7].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,7].font.size := 11;
    excelapp.cells.Item[1,8] := qry_pat.Fields[8].FieldName;
  excelapp.Cells.Item[1,8].Font.name := '宋体';
  excelapp.Cells.Item[1,8].Font.bold := true;
  excelapp.Cells.Item[1,8].orientation := xlhorizontal;
  excelapp.Cells.Item[1,8].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,8].font.size := 11;
    excelapp.cells.Item[1,9] := qry_pat.Fields[9].FieldName;
  excelapp.Cells.Item[1,9].Font.name := '宋体';
  excelapp.Cells.Item[1,9].Font.bold := true;
  excelapp.Cells.Item[1,9].orientation := xlhorizontal;
  excelapp.Cells.Item[1,9].verticalAlignment := xlTop;
  excelapp.Cells.Item[1,9].font.size := 11;


  qry_pat.First;
  n := 2;
  while not qry_pat.eof do
  begin
    excelapp.cells.Item[n,1] := qry_pat.Fields[1].AsString;
    excelapp.Cells.Item[n,1].Font.name := '宋体';
    excelapp.Cells.Item[n,1].Font.bold := true;
    excelapp.Cells.Item[n,1].orientation := xlhorizontal;
    excelapp.Cells.Item[n,1].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,1].font.size := 11;
    excelapp.Cells.Item[n,1].wraptext := true;
    excelapp.cells.Item[n,2] := qry_pat.Fields[2].AsString;
    excelapp.Cells.Item[n,2].Font.name := '宋体';
    excelapp.Cells.Item[n,2].Font.bold := true;
    excelapp.Cells.Item[n,2].orientation := xlhorizontal;
    excelapp.Cells.Item[n,2].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,2].font.size := 11;
    excelapp.Cells.Item[n,2].wraptext := true;
        excelapp.cells.Item[n,3] := qry_pat.Fields[3].AsString;
    excelapp.Cells.Item[n,3].Font.name := '宋体';
    excelapp.Cells.Item[n,3].Font.bold := true;
    excelapp.Cells.Item[n,3].orientation := xlhorizontal;
    excelapp.Cells.Item[n,3].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,3].font.size := 11;
    excelapp.Cells.Item[n,3].wraptext := true;
        excelapp.cells.Item[n,4] := qry_pat.Fields[4].AsString;
    excelapp.Cells.Item[n,4].Font.name := '宋体';
    excelapp.Cells.Item[n,4].Font.bold := true;
    excelapp.Cells.Item[n,4].orientation := xlhorizontal;
    excelapp.Cells.Item[n,4].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,4].font.size := 11;
    excelapp.Cells.Item[n,4].wraptext := true;
        excelapp.cells.Item[n,5] := qry_pat.Fields[5].AsString;
    excelapp.Cells.Item[n,5].Font.name := '宋体';
    excelapp.Cells.Item[n,5].Font.bold := true;
    excelapp.Cells.Item[n,5].orientation := xlhorizontal;
    excelapp.Cells.Item[n,5].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,5].font.size := 11;
    excelapp.Cells.Item[n,5].wraptext := true;
        excelapp.cells.Item[n,6] := qry_pat.Fields[6].AsString;
    excelapp.Cells.Item[n,6].Font.name := '宋体';
    excelapp.Cells.Item[n,6].Font.bold := true;
    excelapp.Cells.Item[n,6].orientation := xlhorizontal;
    excelapp.Cells.Item[n,6].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,6].font.size := 11;
    excelapp.Cells.Item[n,6].wraptext := true;
        excelapp.cells.Item[n,7] := qry_pat.Fields[7].AsString;
    excelapp.Cells.Item[n,7].Font.name := '宋体';
    excelapp.Cells.Item[n,7].Font.bold := true;
    excelapp.Cells.Item[n,7].orientation := xlhorizontal;
    excelapp.Cells.Item[n,7].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,7].font.size := 11;
    excelapp.Cells.Item[n,7].wraptext := true;
        excelapp.cells.Item[n,8] := qry_pat.Fields[8].AsString;
    excelapp.Cells.Item[n,8].Font.name := '宋体';
    excelapp.Cells.Item[n,8].Font.bold := true;
    excelapp.Cells.Item[n,8].orientation := xlhorizontal;
    excelapp.Cells.Item[n,8].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,8].font.size := 11;
    excelapp.Cells.Item[n,8].wraptext := true;
        excelapp.cells.Item[n,9] := qry_pat.Fields[9].AsString;
    excelapp.Cells.Item[n,9].Font.name := '宋体';
    excelapp.Cells.Item[n,9].Font.bold := true;
    excelapp.Cells.Item[n,9].orientation := xlhorizontal;
    excelapp.Cells.Item[n,9].verticalAlignment := xlTop;
    excelapp.Cells.Item[n,9].font.size := 11;
    excelapp.Cells.Item[n,9].wraptext := true;

    inc(n);
    qry_pat.Next;
  end;
 // xlWorksheet.cells.Item[n+qry_medicalorder.recordcount,1] := '';

  SaveDialogExport.Filter := 'Excel文件 (*.xls)';
  SaveDialogExport.Title := '导出为';
  if excelapp.activeworkbook.saved then
  begin
    ExcelApp.ActiveSheet.PrintPreview;
    ExcelApp.WorkBooks.Close;
    ExcelApp.Quit;
    Screen.Cursor := crDefault;
    // Application.ProcessMessages;
    s := '导出完成...';
    Application.MessageBox(PChar(s), PChar(Application.Title),
      MB_OK or MB_IconInformation);

  end;














本文转自鹅倌51CTO博客,原文链接:http://blog.51cto.com/kaixinbuliao/1119516 ,如需转载请自行联系原作者



相关文章
|
21天前
|
Java API Apache
|
25天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
34 4
|
29天前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
|
1月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
1月前
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
297 0
|
1月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
3月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
46 0
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
52 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
数据采集 存储 数据挖掘
使用Python读取Excel数据
本文介绍了如何使用Python的`pandas`库读取和操作Excel文件。首先,需要安装`pandas`和`openpyxl`库。接着,通过`read_excel`函数读取Excel数据,并展示了读取特定工作表、查看数据以及计算平均值等操作。此外,还介绍了选择特定列、筛选数据和数据清洗等常用操作。`pandas`是一个强大且易用的工具,适用于日常数据处理工作。
|
3月前
|
SQL JSON 关系型数据库
n种方式教你用python读写excel等数据文件
n种方式教你用python读写excel等数据文件