This commit is contained in:
2025-11-06 18:31:59 +08:00
parent f1c5d22e03
commit 26918a7ed2

View File

@@ -969,17 +969,17 @@ public class TencentDocController extends BaseController {
// 使用 batchUpdate 一次性更新多个字段
JSONArray requests = new JSONArray();
// 1. 更新物流单号
requests.add(buildUpdateCellRequest(sheetId, row - 1, logisticsLinkColumn, logisticsLink));
// 1. 更新物流单号(超链接类型)
requests.add(buildUpdateCellRequest(sheetId, row - 1, logisticsLinkColumn, logisticsLink, true));
// 2. 更新"是否安排"列(如果存在)
if (arrangedColumn != null) {
requests.add(buildUpdateCellRequest(sheetId, row - 1, arrangedColumn, "2"));
requests.add(buildUpdateCellRequest(sheetId, row - 1, arrangedColumn, "2", false));
}
// 3. 更新"标记"列(如果存在)
if (markColumn != null) {
requests.add(buildUpdateCellRequest(sheetId, row - 1, markColumn, today));
requests.add(buildUpdateCellRequest(sheetId, row - 1, markColumn, today, false));
}
// 构建完整的 batchUpdate 请求体
@@ -1080,7 +1080,7 @@ public class TencentDocController extends BaseController {
}
/**
* 构建单个单元格的更新请求(用于 batchUpdate
* 构建单个单元格的更新请求(用于 batchUpdate- 普通文本
*
* @param sheetId 工作表ID
* @param rowIndex 行索引从0开始
@@ -1089,6 +1089,20 @@ public class TencentDocController extends BaseController {
* @return updateRangeRequest 对象
*/
private JSONObject buildUpdateCellRequest(String sheetId, int rowIndex, int columnIndex, String value) {
return buildUpdateCellRequest(sheetId, rowIndex, columnIndex, value, false);
}
/**
* 构建单个单元格的更新请求(用于 batchUpdate- 支持超链接
*
* @param sheetId 工作表ID
* @param rowIndex 行索引从0开始
* @param columnIndex 列索引从0开始
* @param value 要写入的值文本或链接URL
* @param isLink 是否为超链接类型
* @return updateRangeRequest 对象
*/
private JSONObject buildUpdateCellRequest(String sheetId, int rowIndex, int columnIndex, String value, boolean isLink) {
// 构建 updateRangeRequest
JSONObject updateRangeRequest = new JSONObject();
updateRangeRequest.put("sheetId", sheetId);
@@ -1106,7 +1120,17 @@ public class TencentDocController extends BaseController {
// 构建单元格数据
JSONObject cellData = new JSONObject();
JSONObject cellValue = new JSONObject();
cellValue.put("text", value);
if (isLink) {
// 写入超链接类型
JSONObject link = new JSONObject();
link.put("url", value);
cellValue.put("link", link);
} else {
// 写入普通文本
cellValue.put("text", value);
}
cellData.put("cellValue", cellValue);
cellValues.add(cellData);