同事教我的方法,很实用~

具体步骤:
新建基于对话框的工程,在对话框CTestDialog中添加按钮:IDC_TEST,双击按钮,添加成员函数:CTest::OnTest()。
1.在InitInstance()中添加:
  if(CoInitialize(NULL))
  {
    AfxMessageBox("初始化Com支持库失败!");
    exit(1);
  }
  在 return FALSE;前面添加:
  CoUninitialize();

2.在class wizard中选择Add Class->Add a type from a library,选择路径path(即:本机上的excel安装目录,如本人安装目录为:C:/Program Files/Microsoft Office/OFFICE11/Excel.exe),选择_Applicatin,Workbooks,_Workbook,Worksheets,_Worksheet,Range,这样就在你的工程中自动加入了这几个新类,在file view中可以看到多了excel.h和excel.cpp文件。

3.在TestDialog.cpp中加入:
  #include "comdef.h"
  #include "excel.h"

4.在void OnTest()中添加:
  _Application   ExcelApp;    
  Workbooks   wbsMyBooks;    
  _Workbook   wbMyBook;    
  Worksheets   wssMysheets;    
  _Worksheet   wsMysheet;    
  Range   rgMyRge;
  COleVariant covTrue((short)TRUE), covFalse((short)FALSE), covOptional((long)DISP_E_PARAMNOTFOUND,   VT_ERROR);

//取出list值
  row = m_list.GetItemCount();
  col = m_list.GetHeaderCtrl()->GetItemCount();  
  if(!row)
  {
    MessageBox("没有任何记录!","系统提示",MB_OK|MB_ICONEXCLAMATION);
    return;
  }
 
  //创建Excel   2000服务器(启动Excel)    
  if   (!ExcelApp.CreateDispatch("Excel.Application",NULL))    
  {    
   AfxMessageBox("创建Excel服务失败,请检查是否安装Excel!");    
   exit(1);  
  }    
  ExcelApp.SetVisible(false);    
  //利用模板文件建立新文档    
  char   path[MAX_PATH];  
  GetCurrentDirectory(MAX_PATH,path);  
 // CString   strPath   =   path;  
 // strPath   +=   "//template1";  
 wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);  
 // wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(strPath)));
 wbMyBook.AttachDispatch(wbsMyBooks.Add(covOptional));
 //得到Worksheets    
 wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);  
 //得到sheet1    
 wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);   
 rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);
 rgMyRge.SetColumnWidth(_variant_t(long(15))); 
 
 for(i=0; i<row; i++)
 {
  for(j =0;j<col;j++)
  {
   strList = m_list.GetItemText(i,j);    
   //设置单元值       
   rgMyRge.SetItem(_variant_t((long)(i+1)),_variant_t((long)(j+1)),_variant_t(strList));    
  }   
 }    
 //将表格保存   
 CFileDialog dlg(false);//TRUE为OPEN对话框,FALSE为SAVE AS对话框
 if(dlg.DoModal()==IDOK)
 {
  strPath=dlg.GetPathName();     
  wsMysheet.SaveAs(strPath,vtMissing,vtMissing,vtMissing,vtMissing,  
   vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);  
  ExcelApp.SetVisible(true);       
 }
 //释放对象
    wbMyBook.Close(covFalse,covOptional,covOptional);
 wbsMyBooks.Close();
 ExcelApp.Quit();
 
 rgMyRge.ReleaseDispatch();    
 wsMysheet.ReleaseDispatch();    
 wssMysheets.ReleaseDispatch();    
 wbMyBook.ReleaseDispatch();    
 wbsMyBooks.ReleaseDispatch();    
 ExcelApp.ReleaseDispatch();

vc中把数据库记录表导入Excel相关推荐

  1. oracle数据库表excel文件位置,“如何将excel表格数据导入到oracle数据库对应的表中?“数据库文件导入excel表格数据库中...

    如何实现Excel表格自动导入到数据库 库?是什么数据库?sql?access?mysql?我以sql2008为例子 1.打开SQL Server Management Studio-任务-数据 2. ...

  2. Android SQLite数据库导出/导入Excel

    Android SQLite数据库导出/导入Excel 前言 框架 使用方法 添加依赖 声明权限 导出数据库到Excel 声明实例 配置导出内容 导出监听 导入Excel到数据库 声明实例 导入监听 ...

  3. matlab导入桌面excel数据库,matlab导入excel数据_excel怎么导入网络上的数据?_excel导入网络数据...

    网络上的数据怎么导到excel中.有方法是直接复制然后粘贴到excel中,但是网络上直接复制过来的,可能不能直接进去下一步编辑.因为复制过来的每个词后面都有空格,是不能进行直接计算,连最基本的求和都不 ...

  4. java中poi导入excel_java中使用poi实现导入Excel

    1.java中使用poi实现导入Excel public class XlsDto { /** * 选课号 */ private Integer xkh; /** * 学号 */ private St ...

  5. ASP.NET中数据库数据导入Excel并打印

    众所周知,WEB上的打印是比较困难的,常见的WEB上打印的方法大概有三种: 1.直接利用IE的打印功能.一般来说,这种方法可以做些扩展,而不是单单的调用javascript:print()这样简单,比 ...

  6. php把路由放在数据库,PHP导入Excel到数据库的方法 PHP把数据库数据导出到方法

    PHP导入Excel到数据库的方法 PHP把数据库数据导出到方法 本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法.分享给大家供大家参考.具体实现方法如下: 一.导入 导入 ...

  7. 如何在ex表格导入php_怎么使用php把表格中的数据导入到excel中,php如何快速导入excel表格数据...

    php怎么导入大量数据的excel php导出数据的Excel: PHP从数据库分多次读取100万行记录,和分将100万入文本文件都没问题 Excel可以支100万行记录,Excel 2003最大支持 ...

  8. c 导入oracle数据库,c导入excel数据到数据库

    报表工具如何实现多次导入Excel 很多人在开发报表的时候会遇到将多张表样相同的excel导入到模板,然后提交至数据库中.但问题是很多情况,在线导入不支持一次性选择多个excel,一次只能选择一个ex ...

  9. wps表格保存html,网页中的数据怎么导入excel表格数据-怎么把网页数据导入到wps表格中...

    如何采集网页中的表格数据到Excel中 1.打开excel表格 2.打开菜单"数据"->入外部数据"->" Web 查询",在" ...

最新文章

  1. 哈哈,我的博客开通啦,欢迎光临~~~~~~~~~~~~
  2. node.js 多个异步过程判断执行是否完成
  3. Window10+VS2015+DevExpress.net 15.1.7完美破解(图)
  4. 带你认识三种kafka消息发送模式
  5. 微软 Exchange Autodiscover 协议存bug,数十万域凭据可遭泄露
  6. linux下python安装包_Linux服务器中安装python包管理工具pip
  7. 在C ++中将String转换为Integer并将Integer转换为String
  8. 网易新闻 鸿蒙,本报记者体验华为首款鸿蒙产品
  9. 电路设计:为什么信号发生器设置的峰峰值,用示波器检测出是2倍?
  10. linux 海思hi3798m_海思Hi3798模块芯片,Hi3798处理器参数介绍
  11. Siamese-RPN论文阅读
  12. 假币问题(二分法与三分法实现)
  13. 嵌入式MRZ机读码OCR识别电子护照阅读器模块|模组安装与测试注意事项
  14. SQLException: #22001你知道这个错误码吗
  15. 数据处理常用方法(python)
  16. 青龙-今日头条极速版更新
  17. 论文阅读:《A Wavenet For Speech Denoising》
  18. 【网络编程开发系列】好端端的MQTT-broker重新部署后居然出现TLS握手失败了
  19. 【数据结构】8. 队列(带头节点的单链表实现)(完整代码实现:初始化、入队列、出队列、获取队头元素、获取队尾元素、获取队列中有效元素的个数、判空、销毁)
  20. bzoj1123 BLO

热门文章

  1. VS2008源代码管理软件组合-visualSVN Server+TortoiseSVN+AnkhSvn
  2. 毕设日志——Linux中相对路径和文件的移动和常用指令
  3. TensorFlow神经网络(二)反向传播
  4. 用Scholar one 投稿过程
  5. 使用临时表关联数据时效率低的问题
  6. sql取得某日期内的数据
  7. 货币化物联网:实现收益
  8. 网站集成QQ登录功能
  9. TCP/IP协议、DoD模型、OSI模型
  10. sed手册-3 例子