VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据

一、下载OpenXLSX、生成库文件

1. 首先到https://github.com/troldal/OpenXLSX上下载OpenXLSX整个目录到d:\mfc目录下。

VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第1张图片

VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第2张图片2. 打开x86_x64 Cross Tools Command Prompt for VS 2022命令行窗口,用cd命令进入到D:\mfc\OpenXLSX目录下,建立build目录,然后进入build目录并执行“cmake ..”命令。

VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第3张图片

 3. 上面看到“Build files have been written to: D:/mfc/OpenXLSX/build”,说明cmake在此目录下成功地创建了OpenXLSX.Library.sln解决方案。

VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第4张图片

4. 用Visual studio 2022打开OpenXLSX.Library.sln解决方案, 选择OpenXLSX项目,在“项目 -> 属性 -> C/C++ -> 语言 -> C++语言标准”中,选“ISO C++17 标准 (/std:c++17)”。点击“生成”菜单,再点击“生成OpenXLSX”选项,运行后结果如图所示,说明成功地生成了库文件OpenXLSXd.lib,位于D:\mfc\OpenXLSX\build\Debug目录下待用。

VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第5张图片

二、Visual studio 2022生成单文档的MFC项目

1. 打开 Visual Studio 2022,点击“创建新项目”。

2. 在“创建新项目”对话框中,选择“MFC应用”,点击“下一步”。

3. 在“配置新项目”页面上,填写项目名称和位置信息,点击“下一步”。这里项目名称为WriteXlsx,位于d:\mfc。

4. 在“MFC应用程序”页面上,选择“单个文档”,点击“完成”。结果如下图所示。

VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第6张图片

5. 打开“资源视图”,对主窗口文件菜选项“新建”建立事件处理函数。右键点击“新建”,选“添加事件处理程序”,出现如下图的“事件处理程序”对话框。类列表选CWriteXlsxView,点“确定”后在CWriteXlsxView.cpp中就建立了消息响应函数void CWriteXlsxView::OnFileNew()。

VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第7张图片

 VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第8张图片

6. 在CWriteXlsxView.cpp开始中添加如下代码:

#include 
using namespace OpenXLSX;

 在void CWriteXlsxView::OnFileNew()函数中添加代码:

void CWriteXlsxView::OnFileNew()
{
	// TODO: 在此添加命令处理程序代码

	XLDocument doc;
	doc.create("Spreadsheet.xlsx");
	auto wks = doc.workbook().worksheet("Sheet1");
	wks.cell("A1").value() = "Hello, OpenXLSX!";
	doc.save();

	MessageBox(_T("已产生Spreedsheet.xlsx文件!");
}


三、配置环境、编译及运行

1. 在“项目 -> 属性 -> C/C++ -> 常规 -> 附加包含目录”中,添加3个路径:

D:\mfc\OpenXLSX
D:\mfc\OpenXLSX\headers
D:\mfc\OpenXLSX\build

2. 在“项目 -> 属性 -> 链接器 -> 输入 -> 附加依赖项”中,添加:

D:\mfc\OpenXLSX\build\Debug\OpenXLSXd.lib

3. 同时在“项目 -> 属性 -> C/C++ -> 语言 -> C++语言标准”中,选“ISO C++17 标准 (/std:c++17)”。

4. 编译运行,结果如下:

VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第9张图片

5. 在D:\mfc\WriteXlsx\WriteXlsx目录下可以发现生成的Excel文件Spreadsheet:VC++ 2022生成的MFC项目调用OpenXLSX读写Excel数据_第10张图片

四、参考文献

1. OpenXLSX Documentation

你可能感兴趣的:(c++,vscode)