我正在努力解決一個簡單的問題,但我無法弄清楚。如何使用NetOffice更改excel行的行顏色?
我有一個excel文檔,我使用NetOffice API進行一些處理。這工作正常,但我想在處理後更改行顏色,因此該範圍內的每一行在處理後都應具有相同的顏色。
即時得到一個收到COMException(HRESULT:0x800A03EC)用下面的代碼:
foreach (Excel.Range row in rg)
{
//do the processing...
...
row.Interior.Color = XlRgbColor.rgbAliceBlue;
}
我也用Google搜索這個HRESULT並試圖解決這個問題, 打開()內 - 通過只讀的設定的方法假和可編輯和腐敗加載到真。那沒有 工作。我也嘗試將交互屬性設置爲true,並以不同格式(.xls,.xlsx)保存excel文件,但沒有任何結果。
我發現excelfile/workbook受到保護。於是,我就取消保護ActiveWorkbook像這樣
app.ActiveWorkbook.Unprotect();
但是,這也出了錯,並且拋出一個收到COMException工作簿對象的撤消屬性不能被分配。
我希望有人能幫助我。
由於提前,
科德爾
我用密碼保護的Excel文件進行測試,它的工作與我在答覆中提到的解決方案。讓我知道它是否工作? –
嗨Jignesh,它不起作用。正如我在我的問題中提到的,我從一開始(1月22日)將readOnly參數設置爲false。 :( – cordellcp3
我更新了答案,您需要在打開的工作簿方法上傳遞Excel文件的密碼。在open方法中有兩個參數password和writePassword。我爲我的Excel文件傳遞了123值。 –