vc中把数据库记录表导入Excel
同事教我的方法,很实用~
具体步骤:
新建基于对话框的工程,在对话框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相关推荐
- oracle数据库表excel文件位置,“如何将excel表格数据导入到oracle数据库对应的表中?“数据库文件导入excel表格数据库中...
如何实现Excel表格自动导入到数据库 库?是什么数据库?sql?access?mysql?我以sql2008为例子 1.打开SQL Server Management Studio-任务-数据 2. ...
- Android SQLite数据库导出/导入Excel
Android SQLite数据库导出/导入Excel 前言 框架 使用方法 添加依赖 声明权限 导出数据库到Excel 声明实例 配置导出内容 导出监听 导入Excel到数据库 声明实例 导入监听 ...
- matlab导入桌面excel数据库,matlab导入excel数据_excel怎么导入网络上的数据?_excel导入网络数据...
网络上的数据怎么导到excel中.有方法是直接复制然后粘贴到excel中,但是网络上直接复制过来的,可能不能直接进去下一步编辑.因为复制过来的每个词后面都有空格,是不能进行直接计算,连最基本的求和都不 ...
- java中poi导入excel_java中使用poi实现导入Excel
1.java中使用poi实现导入Excel public class XlsDto { /** * 选课号 */ private Integer xkh; /** * 学号 */ private St ...
- ASP.NET中数据库数据导入Excel并打印
众所周知,WEB上的打印是比较困难的,常见的WEB上打印的方法大概有三种: 1.直接利用IE的打印功能.一般来说,这种方法可以做些扩展,而不是单单的调用javascript:print()这样简单,比 ...
- php把路由放在数据库,PHP导入Excel到数据库的方法 PHP把数据库数据导出到方法
PHP导入Excel到数据库的方法 PHP把数据库数据导出到方法 本文实例讲述了PHP将Excel导入数据库及数据库数据导出至Excel的方法.分享给大家供大家参考.具体实现方法如下: 一.导入 导入 ...
- 如何在ex表格导入php_怎么使用php把表格中的数据导入到excel中,php如何快速导入excel表格数据...
php怎么导入大量数据的excel php导出数据的Excel: PHP从数据库分多次读取100万行记录,和分将100万入文本文件都没问题 Excel可以支100万行记录,Excel 2003最大支持 ...
- c 导入oracle数据库,c导入excel数据到数据库
报表工具如何实现多次导入Excel 很多人在开发报表的时候会遇到将多张表样相同的excel导入到模板,然后提交至数据库中.但问题是很多情况,在线导入不支持一次性选择多个excel,一次只能选择一个ex ...
- wps表格保存html,网页中的数据怎么导入excel表格数据-怎么把网页数据导入到wps表格中...
如何采集网页中的表格数据到Excel中 1.打开excel表格 2.打开菜单"数据"->入外部数据"->" Web 查询",在" ...
最新文章
- 哈哈,我的博客开通啦,欢迎光临~~~~~~~~~~~~
- node.js 多个异步过程判断执行是否完成
- Window10+VS2015+DevExpress.net 15.1.7完美破解(图)
- 带你认识三种kafka消息发送模式
- 微软 Exchange Autodiscover 协议存bug,数十万域凭据可遭泄露
- linux下python安装包_Linux服务器中安装python包管理工具pip
- 在C ++中将String转换为Integer并将Integer转换为String
- 网易新闻 鸿蒙,本报记者体验华为首款鸿蒙产品
- 电路设计:为什么信号发生器设置的峰峰值,用示波器检测出是2倍?
- linux 海思hi3798m_海思Hi3798模块芯片,Hi3798处理器参数介绍
- Siamese-RPN论文阅读
- 假币问题(二分法与三分法实现)
- 嵌入式MRZ机读码OCR识别电子护照阅读器模块|模组安装与测试注意事项
- SQLException: #22001你知道这个错误码吗
- 数据处理常用方法(python)
- 青龙-今日头条极速版更新
- 论文阅读:《A Wavenet For Speech Denoising》
- 【网络编程开发系列】好端端的MQTT-broker重新部署后居然出现TLS握手失败了
- 【数据结构】8. 队列(带头节点的单链表实现)(完整代码实现:初始化、入队列、出队列、获取队头元素、获取队尾元素、获取队列中有效元素的个数、判空、销毁)
- bzoj1123 BLO