如何在c++中集成libxl函数

ccgok5k5  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(182)

我试图读取xlsx文件的excel表,并使用libxl将每张表转换为csv文件
我下载了libxl 4.1.0并按照以下步骤将libxl集成到我的代码中:这是我的代码:

#include <iostream>
#include <fstream>
#include <string>
#include "libxl.h"

using namespace std;
using namespace libxl;

int main() {
  Book* book = xlCreateBook();
  if(book) {
    if(book->load("0FUP3B0YZS_results.xls")) {
      int sheetCount = book->sheetCount();
      for(int i = 0; i < sheetCount; ++i) {
        Sheet* sheet = book->getSheet(i);
        if(sheet) {
          string csvFileName = sheet->name() + ".csv";
          ofstream csvFile(csvFileName.c_str());
          if(csvFile.is_open()) {
            int rowCount = sheet->lastRow();
            for(int row = 0; row <= rowCount; ++row) {
              int colCount = sheet->lastCol();
              for(int col = 0; col <= colCount; ++col) {
                csvFile << sheet->readStr(row, col).c_str();
                if(col != colCount) {
                  csvFile << ",";
                }
              }
              csvFile << endl;
            }
            csvFile.close();
          }
        }
      }
    }
    book->release();
  }
  return 0;
}`

但我总是犯这样的错误未定义对xlCreateBook的引用你能告诉我怎样做才能在我的代码中被识别吗?

bjp0bcyl

bjp0bcyl1#

未定义的引用意味着链接器找不到该函数的实现。更准确地说,您没有链接到libxl
再次检查您是否正确地进行了链接器相关配置,以及所有必需的文件是否都位于配置的路径中。
发布完整的编译/构建日志也会很有用。

相关问题