1
This commit is contained in:
@@ -102,6 +102,7 @@ public class TencentDocDataParser {
|
||||
|
||||
/**
|
||||
* 从单元格对象中提取文本内容
|
||||
* 支持多种单元格类型:text(普通文本)、link(超链接)等
|
||||
*
|
||||
* @param cell 单元格对象
|
||||
* @return 文本内容(如果没有则返回空字符串)
|
||||
@@ -117,9 +118,45 @@ public class TencentDocDataParser {
|
||||
return "";
|
||||
}
|
||||
|
||||
// 获取 text 字段
|
||||
// 优先级1:检查是否有 link 字段(超链接类型)
|
||||
// 格式:{"cellValue": {"link": {"url": "xxx", "text": "xxx"}}}
|
||||
JSONObject link = cellValue.getJSONObject("link");
|
||||
if (link != null) {
|
||||
// 优先返回 text,如果没有则返回 url
|
||||
String linkText = link.getString("text");
|
||||
if (linkText != null && !linkText.isEmpty()) {
|
||||
log.debug("提取link类型单元格,text: {}", linkText);
|
||||
return linkText;
|
||||
}
|
||||
String linkUrl = link.getString("url");
|
||||
if (linkUrl != null && !linkUrl.isEmpty()) {
|
||||
log.debug("提取link类型单元格,url: {}", linkUrl);
|
||||
return linkUrl;
|
||||
}
|
||||
}
|
||||
|
||||
// 优先级2:检查是否有 text 字段(普通文本类型)
|
||||
// 格式:{"cellValue": {"text": "xxx"}}
|
||||
String text = cellValue.getString("text");
|
||||
return text != null ? text : "";
|
||||
if (text != null) {
|
||||
return text;
|
||||
}
|
||||
|
||||
// 优先级3:检查其他可能的字段
|
||||
// 数字类型
|
||||
if (cellValue.containsKey("number")) {
|
||||
Object number = cellValue.get("number");
|
||||
return number != null ? number.toString() : "";
|
||||
}
|
||||
|
||||
// 布尔类型
|
||||
if (cellValue.containsKey("bool")) {
|
||||
Object bool = cellValue.get("bool");
|
||||
return bool != null ? bool.toString() : "";
|
||||
}
|
||||
|
||||
// 如果都没有,返回空字符串
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user