如果我想获取的数据是从第二行第二列到第十八行第二列之间的数据,上述代码应该怎么修改
时间: 2024-04-12 19:29:32 浏览: 10
如果你想获取的数据是从第二行第二列到第十八行第二列之间的数据,你可以对原始代码进行如下修改:
```c++
#include <iostream>
#include <libxl.h>
int main() {
libxl::Book* book = xlCreateBook();
if (book) {
if (book->load("example.xls")) {
libxl::Sheet* sheet = book->getSheet(0); // 获取第一个表格
int startRow = 1; // 第二行
int endRow = 17; // 第十八行
int column = 1; // 第二列
std::vector<int> columnData;
for (int i = startRow; i <= endRow; ++i) {
libxl::CellType cellType = sheet->cellType(i, column);
if (cellType == libxl::CELLTYPE_NUMBER) { // 只处理数字类型的数据
double value = sheet->readNum(i, column);
columnData.push_back(value);
}
}
// 打印保存的数据
for (int i = 0; i < columnData.size(); ++i) {
std::cout << columnData[i] << std::endl;
}
}
book->release(); // 释放资源
}
return 0;
}
```
在上述代码中,我添加了 `startRow` 和 `endRow` 变量来指定要读取的行范围,以及 `column` 变量来指定要读取的列。在循环中,我只处理指定列中的数字类型数据,并将其保存到 `columnData` 数组中。最后,打印出保存的数据。请确保已经正确安装并配置了 `libxl` 库。