使用MS Graph API与C#为Excel行着色时遇参数错误问题
解决C#调用MS Graph API为Excel行填充颜色的参数错误问题
问题原因分析
- 颜色值格式错误:你写的
#FFF00是5位十六进制值,标准RGB颜色需要6位字符,黄色正确的十六进制值应为#FFFF00。 - API调用路径不匹配:Graph Explorer里的请求是直接对
/format/fill资源进行Patch操作,但你的C#代码是对整个Format对象执行Patch,这会导致请求结构和API预期的格式不符。
修正后的代码
var fillRequestBody = new WorkbookRangeFill { Color = "#FFFF00" // 修正为6位标准黄色十六进制值 }; await graphClient.Drives[driveId] .Items[FileId] .Workbook .Worksheets["Tabelle1"] .RangeWithAddress($"A{row.Index + 1}:H{row.Index + 1}") .Format .Fill // 直接定位到Fill资源,和Graph Explorer的请求路径对齐 .PatchAsync(fillRequestBody);
说明
调整后,调用路径和Graph Explorer的请求完全一致,直接针对指定单元格范围的填充格式做Patch,同时颜色值符合标准格式,即可解决「参数无效或格式错误」的问题。
内容的提问来源于stack exchange,提问作者user27523705
相关产品推荐
相关产品推荐

