[英]How can I change cell style in an Excel file with ExcelLibrary?
[英]Can change style of the Excel cell?
我想使用Microsoft Graph SDK更改Excel單元格的樣式。 我嘗試了以下代碼,但由於異常而失敗:
“ InvalidArgument。參數無效或丟失,或格式不正確。”
var range = new WorkbookRange
{
Format = new WorkbookRangeFormat
{
Font = new WorkbookRangeFont { Italic = true }
}
};
await _client.Me.Drive.Items[fileId]
.Workbook
.Worksheets[worksheetId]
.Range("A1")
.Request()
.PatchAsync(range);
我正在使用microsoft.graph nuget 版本1.7.0 。
參考: 范圍更新格式文檔
這是一個錯誤。 如果我們按預期生成此調用,則該調用應類似於以下內容:
var fontPatchObject = new WorkbookRangeFont { Italic = true }
..Worksheets[worksheetId].Range("A1").Format.Font.Request().PatchAsync(fontPatchObject);
解決方法如下:
var fileId = "yourFileId";
var worksheetId = "yourWorksheetId";
var requestUrl = $@"https://graph.microsoft.com/v1.0/me/drive/items/{fileId}/workbook/worksheets/{worksheetId}/range(address='A1')/format/font";
WorkbookRangeFont font = new WorkbookRangeFont { Italic = true };
string workbookRangeFont = graphClient.HttpProvider.Serializer.SerializeObject(font);
// Create the request message and add the content.
HttpRequestMessage hrm = new HttpRequestMessage(new HttpMethod("PATCH"), requestUrl);
hrm.Content = new StringContent(workbookRangeFont, System.Text.Encoding.UTF8, "application/json");
// Authenticate (add access token) our HttpRequestMessage
await graphClient.AuthenticationProvider.AuthenticateRequestAsync(hrm);
// Send the request and get the response.
HttpResponseMessage response = await graphClient.HttpProvider.SendAsync(hrm);
if (response.IsSuccessStatusCode)
{
// Deserialize into WorkbookRangeFont object.
var content = await response.Content.ReadAsStringAsync();
WorkbookRangeFont updatedFontObject = graphClient.HttpProvider.Serializer.DeserializeObject<WorkbookRangeFont>(content);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.