如何使用Microsoft Graph SDK获取Teams频道中Excel的单元格数据
如何从Microsoft Graph SDK的UsedRange.Values中提取Excel单元格数据
你获取的usedRangeWorksheetDetails.Values是Microsoft.Graph.Models.Json类型,它的Value属性直接存储了Graph API返回的二维单元格数据结构。只需将这个属性转换为对应的集合类型即可读取实际数据,以下是具体实现:
方法1:转换为二维对象数组
// 将Json.Value转换为二维对象数组 var cellValues = usedRangeWorksheetDetails.Values.Value as object[,]; if (cellValues != null) { // 遍历所有行和列 for (int rowIndex = 0; rowIndex < cellValues.GetLength(0); rowIndex++) { for (int colIndex = 0; colIndex < cellValues.GetLength(1); colIndex++) { var cellContent = cellValues[rowIndex, colIndex]; // 处理单元格内容,例如转为字符串输出 Console.WriteLine($"第{rowIndex+1}行,第{colIndex+1}列:{cellContent?.ToString() ?? "空单元格"}"); } } }
方法2:转换为嵌套列表
如果你更习惯使用列表结构,可以转换为List<List<object>>:
var cellValueList = usedRangeWorksheetDetails.Values.Value as List<List<object>>; if (cellValueList != null) { foreach (var row in cellValueList) { foreach (var cell in row) { Console.WriteLine(cell?.ToString() ?? "空单元格"); } } }
注意事项
- 空单元格对应的
cellContent会是null,处理时建议加入空值判断避免空引用异常 - 单元格数据类型可能是数字、字符串、日期等,可根据业务需求做类型转换(例如将日期类型的
DateTimeOffset转为本地时间)
内容的提问来源于stack exchange,提问作者DeMaki
相关产品推荐
相关产品推荐

