下载类文件(CSpreadSheet)

https://www.codeproject.com/articles/1636/cspreadsheet-a-class-to-read-and-write-to-excel-an

下载并安装MFC(如果VS里面没有MFC选项的话)

搜索Visual Studio Installer,并打开

点击修改

选中MFC并下载安装

编译DLL

第一步:

创建MFC DLL项目,命名为SpreadSheet(记住这个名字,后面都是使用这个名字的)

创建好后目录如下:

第二步

修改项目中的SpreadSheet.h文件,如下

删掉构造函数,将类名改为CSpreadSheet,在类名前添 __declspec(dllexport)

第三步:

打开下载的CSpreadSheet.h

复制类的定义到MFC项目的SpreadSheet.h中

包含两个头文件<odbcinst.h>和<afxdb.h>,将类的定义复制到 virtual BOOL InitInstance(); 和 DECLARE_MESSAGE_MAP() 两行代码之间。

然后修改项目中的SpreadSheet.cpp文件

删掉构造函数 CSpreadSheetApp::CSpreadSheetApp()

删掉对象 CSpreadSheetApp theApp

将所有的CSpreadSheetApp修改为CSpreadSheet

然后打开下载的CSpreadSheet.h文件

将类实现复制到项目的SpreadSheet.cpp文件中

(CSpreadSheet.h文件的最后有一个#endif,不要将它也复制过来)

这时候会显示很多错误,先不用管它

第四步

打开项目的属性,将 配置属性>常规 中的字符集改为未设置

改完之后应该就不会显示错误了

然后

项目->右键属性->链接器->输入->附加依赖项

添加 legacy_stdio_definitions.lib

第五步

项目->右键->生成

至此,编译完成

使用DLL

创建控制台应用程序

复制文件

现在我们有两个项目,一个是SpreadSheet,用来生成DLL文件,另一个是SpreadSheetTest,用来使用CSpreadSheet这个类

在SpreadSheet项目文件目录下找到

  1. SpreadSheet.dll
  2. SpreadSheet.lib
  3. Resource.h
  4. SpreadSheet.h
  5. stdafx.h
  6. targetver.h
  7. stdafx.cpp

将它们复制到SpreadSheetTest项目下

在SpreadSheetTest项目中

头文件->右键->添加->现有项     添加刚刚复制的文件中的头文件

源文件->右键->添加->现有项        添加刚刚复制的文件中的源文件

修改stdafx.cpp文件(其实似乎可以不用包含stdafx.cpp文件的)

VS2017默认创建的项目的CPP文件里面好像都要包含pch.h文件,以前的VS版本应该不需要这一步吧

在SpreadSheet.h中包含stdafx.h文件

最后,配置项目的信息

配置属性>链接器>输入 附加依赖项里添加SpreadSheet.lib

配置属性>常规

MFC的使用:在共享DLL中使用MFC

字符集:未设置

至此,可以使用CSpreadSheet了

#include "pch.h"#include <iostream>#include"SpreadSheet.h"int main(){CSpreadSheet sheet("sheetfilename.xls", "sheetname");CStringArray headers, row;headers.Add("str1");headers.Add("str2");headers.Add("str3");row.Add("hello");row.Add("world");row.Add("!");sheet.BeginTransaction();//似乎必须要有headers,没有headers的话好像就没有输出文件。。。sheet.AddHeaders(headers);sheet.AddRow(row);sheet.Commit();}

CSpreadSheet的详细用法见

https://www.codeproject.com/articles/1636/cspreadsheet-a-class-to-read-and-write-to-excel-an

VS2017-C++-使用CSpreadSheet写EXCEL相关推荐

  1. 在VS2017中使用Xlslib对Excel进行操作

    /* 2018-10-12 16:57:05 使用xlslib来对Excel文件的一些操作 VS2017编译的一些问题    (这个库只支持写) */ 详细的编译过程见 参考:https://www. ...

  2. pandas写excel报错ModuleNotFoundError: No module named ‘xlwt‘

    pandas写excel报错ModuleNotFoundError: No module named 'xlwt' https://blog.csdn.net/weixin_36372879/arti ...

  3. python填写excel-Python|读、写Excel文件(三种模块三种方式)

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pandas进行excel读写: 为了方 ...

  4. matlab 写excel 慢_我在12w+的Python库中,发现了让Excel快到起飞的秘密......

    Amber | 作者 图片源自网络 在这篇文章里,小编向大家介绍了Excel在数据分析中的妙用.不知大家在看完后,有没有亲自动手去体验下呢?有没有遇到什么问题呢? 虽说Excel在处理小批量数据时的优 ...

  5. java sheet_java的poi技术写Excel的Sheet

    在这之前写过关于java读,写Excel的blog如下: 然而,这篇blog主要内容是关于Excel里面怎样去写Sheet数据. 那么在Excel里面什么叫做Sheet呢?如下图红色框里面的内容就是E ...

  6. python的xlwt库的作用_Python:使用第三方库xlwt来写Excel

    继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...

  7. python3 写入excel_Python3 读、写Excel文件的操作方法

    首先,简单介绍一下EXECL中工作簿和工作表的区别: 工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET). •一个工作簿就是一个独立的文件 •一个工作簿里面可以 ...

  8. 小白用python处理excel文件-Python读、写Excel文件(三种模块三种方式,小白也可学会)...

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pandas进行excel读写: 为了方 ...

  9. python怎么读取excel-Python|读、写Excel文件(三种模块三种方式)

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pandas进行excel读写: 为了方 ...

最新文章

  1. 属性配置文件详解(2)(十七)
  2. 代码生成工具Database2Sharp功能功能完善及更新
  3. 2.1.3 字符与字符串
  4. 全球及中国陶瓷脐轮行业投资份额及需求前景调研报告2021-2027年版
  5. windows server 2008 开机进度条闪过后重启_Windows无法启动:先用PE把桌面重要数据拷出来再说其他...
  6. sap 分割评估_SAP那些事-实战篇-73-受托加工的几种方案探讨
  7. 两年Java工作经验应该会些什么技术
  8. Mac OSX使用隐藏文件夹
  9. 计算机网络学习笔记(26. Web缓存技术)
  10. 前端 JavaScript 实现一个简易计算器
  11. python所有软件-python
  12. python3 input函数
  13. 常见打印机故障有哪些
  14. u深度制作win10系统安装盘教程
  15. opencv接受树莓派usb摄像头rtsp视频流
  16. 小心啦!水上有“天眼”,查你没商量!
  17. android 多线程 随机数,多线程安全的随机数生产函数
  18. python杀毒软件程序_使用Python Shells绕过杀毒软件
  19. 如何使用netstat命令辨别DDOS入侵
  20. python 第三方插件登陆——QQ

热门文章

  1. gate simulation
  2. C++ POCO库(访问数据库,版本问题,本人配置失败)
  3. 模板匹配理论的优缺点,模板匹配和神经网络
  4. 借助Bilibili Evolved和aria2批量下载b站视频
  5. 易基因 | DNA甲基化测序新技术发布:扩展重亚硫酸盐测序(XRBS)
  6. 计算机网络(6)体系结构:计算机网络协议、接口、服务的概念
  7. win10常用dos命令
  8. 关于opencv读取图片,无法正常显示
  9. 学习可爱彩色线条PS极简马克笔简笔画:鞋子篇
  10. 向量的方向余弦公式_定位中方向余弦矩阵(DCM)简介