This commit is contained in:
Leo
2026-02-06 20:25:03 +08:00
parent e63ff7522e
commit c1484ecbfd
2 changed files with 24 additions and 1 deletions

View File

@@ -1055,6 +1055,22 @@ public class TencentDocController extends BaseController {
log.info("已截断结束行以符合 API 限制: endRow={}, 行数={}", endRow, READ_ROWS_WHEN_USE_ROW_TOTAL); log.info("已截断结束行以符合 API 限制: endRow={}, 行数={}", endRow, READ_ROWS_WHEN_USE_ROW_TOTAL);
} }
// 若之前未取到 rowTotal 或来自 fallback再次尝试并用 sheet 最大行硬性限制,避免读到 348 超出 324 行
if (rowTotal <= 0) {
rowTotal = tencentDocService.getSheetRowTotal(accessToken, fileId, sheetId);
}
if (rowTotal > 0) {
if (startRow > rowTotal) {
startRow = Math.max(MIN_START_ROW_WHEN_USE_ROW_TOTAL,
Math.max(effectiveStartRow, rowTotal - READ_ROWS_WHEN_USE_ROW_TOTAL));
endRow = Math.min(rowTotal, startRow + READ_ROWS_WHEN_USE_ROW_TOTAL - 1);
log.info("按 rowTotal={} 修正范围,避免超出表尾: 第 {} ~ {} 行", rowTotal, startRow, endRow);
} else if (endRow > rowTotal) {
endRow = rowTotal;
log.info("按 rowTotal={} 截断结束行: endRow={}", rowTotal, endRow);
}
}
log.info("开始填充物流链接 - 文件ID: {}, 工作表ID: {}, 起始行: {}, 结束行: {}, rowTotal: {}", log.info("开始填充物流链接 - 文件ID: {}, 工作表ID: {}, 起始行: {}, 结束行: {}, rowTotal: {}",
fileId, sheetId, startRow, endRow, rowTotal > 0 ? rowTotal : "未获取"); fileId, sheetId, startRow, endRow, rowTotal > 0 ? rowTotal : "未获取");

View File

@@ -598,9 +598,16 @@ public class TencentDocServiceImpl implements ITencentDocService {
continue; continue;
} }
String sid = props.getString("sheetId"); String sid = props.getString("sheetId");
if (sheetId.equals(sid) && props.containsKey("rowTotal")) { if (!sheetId.equals(sid)) {
continue;
}
// rowTotal 可能为 rowTotal 或 row_total
if (props.containsKey("rowTotal")) {
return Math.max(0, props.getIntValue("rowTotal")); return Math.max(0, props.getIntValue("rowTotal"));
} }
if (props.containsKey("row_total")) {
return Math.max(0, props.getIntValue("row_total"));
}
} }
return 0; return 0;
} catch (Exception e) { } catch (Exception e) {