簡體   English   中英

可以更改Excel單元格的樣式嗎?

[英]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);

我正在使用 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);
}

問題#233

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM