我正在使用c#为excel文件的特定单元格着色。 我正在使用
Application excel = new Application();
Workbook wb = excel.Workbooks.Open(destPath);
Worksheet ws = wb.Worksheets[1];
ws.Cells[row, clmn].Interior.Color = XlRgbColor.rgbBlack;
彩色单元..但这不起作用.. 它在我为单元格着色的最后一行给出了一个例外
"Exception from HRESULT: 0x800A03EC"
我无法修复异常 任何人都可以帮助我..
答案 0 :(得分:1)
它可能无效,因为工作表受到保护。
您可以通过以下方式进行检查:
Application excel = new Application();
Workbook wb = excel.Workbooks.Open(destPath);
Worksheet ws = wb.Worksheets[1];
bool wasProtected = ws.ProtectContents;
if (wasProtected == true)
{
// unprotect the worksheet
}
else
{
ws.Cells[row, clmn].Interior.Color = XlRgbColor.rgbBlack;
}
...
if (wasProtected == true)
{
// protect back the worksheet
}
答案 1 :(得分:0)
在我以前的项目中,我使用以下代码片段在Excel中使用Color Cells:
ws.Cells[row, clmn].Interior.Color = System.Drawing.ColorTranslator.ToWin32(Color.Black);
答案 2 :(得分:0)
我在新的Excel文件上测试了你的代码,它运行正常。但是,当测试行值为0时,我能够重现错误。所以问题可能在于行和clmn值。否则它必须是您的Excel文件特有的东西......可能是受保护的单元格或类似的东西。