Visual Studio2019配置xlnt库

以为是很简单的配置,没想到还是需要花一段时间才能运行。
在win32平台下测试已通过。

配置步骤:

1.下载源码


//使用git工具下载源码
git clone https://github.com/tfussell/xlnt.git

/* 然后再下载 libstudxml库(这是上面要用的库,使用git不知道为什么没下载下来,
需要手动下载,然后放到上面源码中指定的目录:\\third-party\\llibstudxml\\)
*/
// 没这一步的话 cmake无法生成VS项目!!
git clone https://github.com/kamxgal/libstudxml.git

2.使用 CMAKE(GUI) 生成 VS 项目(网上的教程)

2.1. 打开Cmake(Gui)

 在where is souce codedir 放xlnt源代码地址  ( F:\CODE\CPPCODE\xlnt-maste )

 在在where build the ... 放你 新建的 build 文件夹地址(F:/CODE/CPPCODE/xlnt-master/build)

2.2 点击左下角 config

选中你的visual Studio 版本 下拉选中电脑版本的vs (默认是32位的 64位visual Stdio需要自己选择)  

2.3 设置完成之后点击 Generate

遇到有问题可以看下文章 遇到的坑,有相同的就解决了。不同的需要自己去网上找

2.4 点击openProject

3. VS项目生成静态和动态库

PS: 项目在visual stdudio 本地调试器生成解决方案
会弹窗跳出警告 无法启动程序 请无视
 在 xlnt-master\include中得到头文件文件夹

 在 xlnt-master\build\source\Debug中得到动态链接库 
动态链接库中有  xlntd.dll  xlntd.lib 这是需要用到的东西 

如果没有xlntd.dll就是没编译好 请重试

4. 集成到项目中

由于我是MFC项目,正常应该和C++/C是一样的配置。
- 项目右键点击,然后选择最下方的属性按钮,打开配置的窗口
- 1. 配置头文件路径的配置
    拷贝 \xlnt\xlnt\include
- 2. 第三方库库文件路径
    配置属性-VC++目录-库目录
    拷贝 xlnt\xlnt\build\source\Release
- 3. 引用库名称的配置 
配置属性-连接器-依赖-附加依赖项
填入 xlnt.lib

// 如果提示缺xlnt.dll的话 将找不到的dl文件放在与源代码同一级别的目录下。

5. 测试代码,生成xlsx文件就代表能使用了。

try {
        CString FileName = _T("\\Spreadsheet.xlsx"); 
        
        // 创建工作簿和工作表
        xlnt::workbook wb;
        xlnt::worksheet ws = wb.active_sheet();

        // 设置单元格的值和公式
        ws.cell("A1").value(5);
        ws.cell("B2").value("string data");

        // 这里添加捕获异常
        ws.cell("C3").formula("=RAND()");

        // 合并单元格和冻结窗格
        ws.merge_cells("C3:C4");
        ws.freeze_panes("B2");

        wb.save(FileName.GetString());
    }
    catch (const std::exception& e) {
        std::cerr << "Exception: " << e.what() << std::endl;
    }

遇到的坑
1.Cmake 第二步要 generate 报的错误(第一步有解决方案):

2.xlnt保存xlsx格式文件 提示 _Parent_proxy:读写冲突:
要跟项目同一个配置,32位还是64位,Release和Debug都要一样。 不然可以运行程序但是执行代码的时候会出错!!!

参考文章:
https://www.jianshu.com/p/66a6fe355610

posted @ 2024-06-07 17:59  Pedro_Hello  阅读(793)  评论(0)    收藏  举报