资源简介
本资源基于MFC库提供了VS2008环境下的一键导出数据至Excel组件源码及可用的库文件,使得可以快速一键导出内存数据至excel中,在使用过程中如果遇到任何问题请邮件至fangang_work2014@qq.com咨询,欢迎大家一起学习交流。
代码片段和文件信息
// EcxelOperationDll.cpp : 定义 DLL 的初始化例程。
//
#include “stdafx.h“
#include “ExcelOperationDll.h“
#include “Shlwapi.h“
#include “OEObeject.h“
#include “CApplication.h“
#include “CWorkbooks.h“
#include “CWorkbook.h“
#include “CWorksheets.h“
#include “CWorksheet.h“
#include “CRange.h“
#include “CFont0.h“
#include “Cnterior.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
#pragma comment(lib“Shlwapi.lib“)
//
//TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,
// 则从此 DLL 导出的任何调入
// MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
// 该函数的最前面。
//
// 例如:
//
// extern “C“ BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // 此处为普通函数体
// }
//
// 此宏先于任何 MFC 调用
// 出现在每个函数中十分重要。这意味着
// 它必须作为函数中的第一个语句
// 出现,甚至先于所有对象变量声明,
// 这是因为它们的构造函数可能生成 MFC
// DLL 调用。
//
// 有关其他详细信息,
// 请参阅 MFC 技术说明 33 和 58。
//
// CEcxelOperationDllApp
BEGIN_MESSAGE_MAP(CEcxelOperationDllApp CWinApp)
END_MESSAGE_MAP()
// CEcxelOperationDllApp 构造
CEcxelOperationDllApp::CEcxelOperationDllApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}
// 唯一的一个 CEcxelOperationDllApp 对象
CEcxelOperationDllApp theApp;
// CEcxelOperationDllApp 初始化
BOOL CEcxelOperationDllApp::InitInstance()
{
CWinApp::InitInstance();
if(!AfxOleInit())
{
AfxMessageBox(_T(“Cannot initialize COM dll“));
return FALSE;
}
return TRUE;
}
EXTERN_C AFX_CLASS_EXPORT void SaveToExcel(std::list& dataListstd::list& colNameListCString outFileName)
{
int dataSize = dataList.size();
if ( dataSize<= 0 )
{
AfxMessageBox(_T(“纪录为空,无需导出!“));
return;
}
CFileDialog FileDialog(FALSE//Save;
NULLoutFileNameOFN_HIDEREADONLY | OFN_OVERWRITEPROMPT_T(“Microsoft Excel (*.xls)|*.xls|所有文件(*.*)|*.*||“)NULL);
if(FileDialog.DoModal()!=IDOK)
return;
CString strFile=FileDialog.GetPathName();
if(::PathFileExists(strFile))
DeleteFile(strFile);
// Commonly used OLE variants.
COleVariant
covTrue((short)TRUE)
covFalse((short)FALSE)
covOptional((long)DISP_E_PARAMNOTFOUND VT_ERROR);
CApplication app;
// Start Excel and get an Application object.
if(!app.CreateDispatch(TEXT(“Excel.Application“)))
{
AfxMessageBox(TEXT(“Couldn‘t start Excel and get Application object.“));
return;
}
CWorkbooks books;
CWorkbook book;
CWorksheets sheets;
CWorksheet sheet;
CRange range;
CFont0 font;
books = app.get_Workbooks();
book = books.Add (covOptional);
//Get the first sheet.
sheets =book.get_Sheets();
sheet = sheets.get_Item(COleVariant((short)1));
//开始写入表头
int iRowiCol;
int nCols = colNameList.size();
int nRows = dataSize;
char name=‘A‘-1;
CString colname;
iCol = 0;
std::list ::iterator itor = colNameList.begin();
while(itor!=colNameList.end())
{
name+=1;
colname.Format(_T(“%c1“)name);
range = sheet.get_Range(COleVariant(colname)COleVariant(colname));
range.put_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-11-30 10:11 SaveToExcel\
目录 0 2016-11-30 09:51 SaveToExcel\库\
目录 0 2016-11-30 09:52 SaveToExcel\库\include\
文件 2538 2016-11-30 09:28 SaveToExcel\库\include\ExcelOperationDll.h
目录 0 2016-11-30 10:10 SaveToExcel\库\lib\
文件 18432 2016-11-30 10:07 SaveToExcel\库\lib\ExcelOperationDll.dll
文件 1916 2016-11-30 10:07 SaveToExcel\库\lib\ExcelOperationDll.lib
文件 111104 2016-11-30 10:11 SaveToExcel\库\lib\ExcelOperationDll_d.dll
文件 1916 2016-11-30 10:11 SaveToExcel\库\lib\ExcelOperationDll_d.lib
目录 0 2016-11-30 09:54 SaveToExcel\源码\
目录 0 2016-11-30 09:54 SaveToExcel\源码\ExcelOperationDll\
文件 79899 2016-11-29 09:00 SaveToExcel\源码\ExcelOperationDll\CApplication.h
文件 6223 2016-11-29 09:00 SaveToExcel\源码\ExcelOperationDll\CFont0.h
文件 4301 2016-11-29 09:00 SaveToExcel\源码\ExcelOperationDll\Cnterior.h
文件 45582 2016-11-29 09:01 SaveToExcel\源码\ExcelOperationDll\CRange.h
文件 45521 2016-11-29 09:00 SaveToExcel\源码\ExcelOperationDll\CWorkbook.h
文件 7355 2016-11-29 09:00 SaveToExcel\源码\ExcelOperationDll\CWorkbooks.h
文件 29325 2016-11-29 09:00 SaveToExcel\源码\ExcelOperationDll\CWorksheet.h
文件 4915 2016-11-29 09:00 SaveToExcel\源码\ExcelOperationDll\CWorksheets.h
目录 0 2016-11-30 09:54 SaveToExcel\源码\ExcelOperationDll\Debug\
文件 5724 2016-11-30 09:12 SaveToExcel\源码\ExcelOperationDll\ExcelOperationDll.cpp
文件 122 2016-11-29 18:42 SaveToExcel\源码\ExcelOperationDll\ExcelOperationDll.def
文件 2538 2016-11-30 09:28 SaveToExcel\源码\ExcelOperationDll\ExcelOperationDll.h
文件 3080 2016-11-29 18:30 SaveToExcel\源码\ExcelOperationDll\ExcelOperationDll.rc
文件 5939 2016-11-30 09:50 SaveToExcel\源码\ExcelOperationDll\ExcelOperationDll.vcproj
文件 118 2016-11-29 09:07 SaveToExcel\源码\ExcelOperationDll\OEObeject.cpp
文件 625 2016-11-29 09:28 SaveToExcel\源码\ExcelOperationDll\OEObeject.h
文件 2176 2016-11-29 08:55 SaveToExcel\源码\ExcelOperationDll\ReadMe.txt
目录 0 2016-11-30 09:54 SaveToExcel\源码\ExcelOperationDll\Release\
目录 0 2016-11-30 09:54 SaveToExcel\源码\ExcelOperationDll\res\
文件 373 2016-11-29 08:55 SaveToExcel\源码\ExcelOperationDll\Resource.h
............此处省略4个文件信息
相关资源
- C++模拟退火算法求二维函数极值
- c++医院病房管理系统
- VC图像处理系列(傅立叶变换篇源码
- C++对任意阶的实对称矩阵求特征值和
- 图书管理系统C++实现
- 李龙澍 C++ 程序设计课件
- 学籍信息管理系统 C++ 代码
- 多边形区域的扫描线填充、扫描线种
- C++机房机位预约管理
- VC++Spin(旋转)控件用法
- SHA1加密算法的c++实现
- 导引头模型仿真
- ROBOOP --机器人正逆解C++版本开源开源
- MFC实现简单网络聊天程
- C++实现日志库
- 基于IE浏览器的源代码
- C++音视频即时通讯源代码
- VC++摄像头视频采集及回放源程序
- MFCPanel控件
- mfc做的局域网聊天室
- 模拟退火遗传算法的C++程序
- c语言五子棋代码
- C++实现mqtt协议
- 21天学通C++第8版源代码
- c++利用遗传算法求解函数优化问题
- TXT文本里关键字检索
- 基于C++的边缘检测算法
- C++ USB HID
- vs2013 VC++项目里的Windows窗体应用程序
- 简单的MFC 多人在线聊天 客户端
评论
共有 条评论