收录日期:2019/05/24 23:38:34 时间:2016/05/31 07:15:33 标签:基础类
如何把查询到的数据库记录导出到excel文件里面?
如把ADOTable1中的Fields[0] ---Fields[4]的记录
放在excel的 1--5字段里面,
并且把excel文件的名字命名为 20041120524
为日期和时间的组合,2004-11-20 加上5:24。
请详细说明,给出相关代码。
不胜感激。
#include <FileCtrl.hpp>


#pragma hdrstop
#include<Comobj.hpp>
#include<Utilcls.h>


void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
 AnsiString SQLTxt,str;
  SQLTxt = "select * from ovf_dun_result order by id";
  Query1->Close();
  Query1->SQL->Clear();
  Query1->SQL->Add(SQLTxt);
  Query1->Open();
  if(Query1->RecordCount == 0) //无数据退出
  return;
 Variant ex,newxls,cellms; //ole万能变量,定义excel对象使用
 try
 {
  ex=CreateOleObject("Excel.Application"); //启动Excel
 }
 catch(...)
 {
  MessageDlg("无法启动Excel,可能尚未安装或文件已经损坏!",mtError,TMsgDlgButtons()<<mbYes,0);
  return;
}
 newxls=ex.OlePropertyGet("ActiveWorkBook");//创建工作簿对象
 ex.OlePropertyGet("WorkBooks").OleFunction("Add");//添加一个工作薄
 cellms=ex.OlePropertyGet("ActiveSheet");//创建工作区
 cellms.OlePropertyGet("Cells",1,1).OlePropertySet("Value","催收方式");
 cellms.OlePropertyGet("Cells",1,2).OlePropertySet("Value","代码");
 cellms.OlePropertyGet("Cells",1,3).OlePropertySet("Value","备注");
 ex.OlePropertySet("Visible",(Variant)true); //使Excel可见
 Query1->First();
 for(int i=0;i<Query1->RecordCount;i++)//按列灌入纪录
  {
   for(int j=0;j<Query1->FieldCount;j++) //行的值
    {
      str = Query1->Fields->Fields[j]->AsString;
      cellms.OlePropertyGet("Cells",i+2, j+1).OlePropertySet("Value", str.c_str());
     }
    Query1->Next();
   }
}
//---------------------------------------------------------------------------
厉害
回头试试看去

关于反射的两种调用方法,有事么不同吗? 请问如何在truedbgrid中通过row和col值获得当前cell的值,急,在线等,分不够可以另外开。 有谁知道东莞地区,思念速冻食品的办事处 在什么地方 ?? 大家有用inotes6的吗 加载用VC++做的控件问题.谢谢高手指点. oracle reports怎么定义复杂表头啊? struts:刷新主页面的问题 一个二级指针的问题,求教! 请问myeclipse的默认web容器是jboss吗???可以换成tomcat吗?? 请教:怎么知道一个方法是Invoke调用的还是直接调用的? 问一问题,什么叫水晶报表的推模式,拉模式,两者有什么区别? 有关linux编译内核的问题 求在IIS6中可以支持ASP的EMAIL组件.....急 找支持多列下拉表格,会计金额输入,支持打印,支持Footer的OCX控件 用一个ASP页面调用WebService接口后,收到XML格式应答包,如何取出当中的字段内容 第一次用Oracle,SQL语句的问题! 急!Can\'t locate DBD.pm in @INC SOS! 硬盘无法改变分区问题? windows程序设计(上册)P274中的一个问题,GetWindowLong(hwnd,GWL_HINSTANCE)是什么 network card 给管理员设个密码,成功后密码又不能用? 请高手指点迷津,很急,谢谢! 各位高手指教一条sql语句,谢谢 高手请进 一个奇怪的服务端与客户端通讯问题 哪位老大 知道 怎么样接收和发送手机短信息啊!!!急!! 帮个忙啊!! 全部分送上! binddata()的使用 我用C# + ASP.NET + SQLSERVER 开发一个管理系统,应该什么时候开始做权限管理模块? outlook 的编程中遇到的问题 javascript可以向word菜单中添加按钮吗 Repeater里设置radiobutton的groupname问题