一、下载OpenXLSX、生成库文件
1. 首先到https://github.com/troldal/OpenXLSX上下载OpenXLSX整个目录到d:\mfc目录下。
2. 打开x86_x64 Cross Tools Command Prompt for VS 2022命令行窗口,用cd命令进入到D:\mfc\OpenXLSX目录下,建立build目录,然后进入build目录并执行“cmake ..”命令。
3. 上面看到“Build files have been written to: D:/mfc/OpenXLSX/build”,说明cmake在此目录下成功地创建了OpenXLSX.Library.sln解决方案。
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目录下待用。
二、Visual studio 2022生成单文档的MFC项目
1. 打开 Visual Studio 2022,点击“创建新项目”。
2. 在“创建新项目”对话框中,选择“MFC应用”,点击“下一步”。
3. 在“配置新项目”页面上,填写项目名称和位置信息,点击“下一步”。这里项目名称为WriteXlsx,位于d:\mfc。
4. 在“MFC应用程序”页面上,选择“单个文档”,点击“完成”。结果如下图所示。
5. 打开“资源视图”,对主窗口文件菜选项“新建”建立事件处理函数。右键点击“新建”,选“添加事件处理程序”,出现如下图的“事件处理程序”对话框。类列表选CWriteXlsxView,点“确定”后在CWriteXlsxView.cpp中就建立了消息响应函数void CWriteXlsxView::OnFileNew()。
6. 在CWriteXlsxView.cpp开始中添加如下代码:
#include <OpenXLSX.hpp>
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. 编译运行,结果如下:
5. 在D:\mfc\WriteXlsx\WriteXlsx目录下可以发现生成的Excel文件Spreadsheet: