我需要读取一个包含许多合并单元格的 Excel 文件。假设第一列包含“Category”值,第二列包含“sub_category”值。问题是每个类别单元格可能是第二列中具有多个 sub_categories 的合并单元格。我需要知道这个合并单元格占用的行数。我的图表是这样的:
已经提出了类似的问题,但使用不同的语言:
QString category = "";
QString sub_category = "";
auto excel = new QAxObject("Excel.Application");
auto workbooks = excel->querySubObject("Workbooks");
auto workbook = workbooks->querySubObject("Open(const QString&)" ,"C:\\Users\\Orkideh\\Documents\\build-MyApp-Desktop_Qt_5_12_9_MSVC2017_64bit-Debug\\Book1.xlsx");
auto sheets = workbook->querySubObject("Worksheets");
auto sheet = sheets->querySubObject("Item(int)", 1);
// Read the rows 2..150
for (int r = 2; (r <= 150); ++r)
{
auto cCell = sheet->querySubObject("Cells(int,int)",r,1);
category = cCell->dynamicCall("Value()").toString().simplified();
// if each row in the excel file had only 1 category and 1 sub-category,
// I could use the below code to get sub_category:
// cCell = sheet->querySubObject("Cells(int,int)",r, 2);
// sub_category = cCell->dynamicCall("Value()").toString().simplified();
// But in fact, the cell with category value might be a merged cell with
// unknown number of rows.
// I need to know the number of rows that this merged cell occupies to connect
// each sub_category to its own category.
}