void reproduce(const char *aFilename) { xlsxioreader workbook; std::cout << aFilename << " opening workbook" << std::endl; if ((workbook = xlsxioread_open(aFilename)) != NULL) { xlsxioreadersheetlist sheetList; if ((sheetList = xlsxioread_sheetlist_open(workbook)) != NULL) { const XLSXIOCHAR* sheetName; while ((sheetName = xlsxioread_sheetlist_next(sheetList)) != NULL) { xlsxioreadersheet worksheet; if ((worksheet = xlsxioread_sheet_open(workbook, sheetName, XLSXIOREAD_SKIP_NONE)) != NULL) { int rowCount = 0; while (xlsxioread_sheet_next_row(worksheet)) { int colCount = 0; rowCount++; XLSXIOCHAR* value; while ((value = xlsxioread_sheet_next_cell(worksheet)) != NULL) { colCount++; free(value); } } xlsxioread_sheet_close(worksheet); std::cout << " Sheet " << sheetName << " has " << rowCount << " row(s)" << std::endl; } } xlsxioread_sheetlist_close(sheetList); } xlsxioread_close(workbook); } }