优秀的细胞着色

我正在使用c#为excel文件的特定单元格着色。 我在用:

Application excel = new Application(); Workbook wb = excel.Workbooks.Open(destPath); Worksheet ws = wb.Worksheets[1]; ws.get_Range(ws.Cells[row, clmn]).Cells.Interior.Color = 36; 

…给彩色电池着色,但这不起作用。 谁能帮我吗?

尝试类似的东西

 ws.Cells[row, clmn].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red) 

单元格[row,clmn]是一个范围,因此您不需要调用get_Range(),并且有一个可用于颜色的枚举。

 ws.Cells[row, clmn].Interior.Color = XlRgbColor.rgbBlack; 

如果要按颜色索引设置颜色,则需要使用以下方法:

  Cells[row, col].Interior.ColorIndex = 36; 

您可以为单元格或整列或整行着色。

以下代码将帮助您。

 xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 2], xlWorkSheet.Cells[2, 4]).Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Green); 

其他

 xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 3], xlWorkSheet.Cells[2, 3]).Interior.Color = Excel.XlRgbColor.rgbRed; 

这里xlWorksheet是对象excel Worksheet对象。

get_Range需要2个变量一个起始单元格,另一个是结束单元格。

因此,如果您指定两个值相同,则只有一个单元格被着色。

xlWorkSheet.cells [row,column]用于指定单元格。

System.Drawing.ColorTranslator.ToOle(SystemDrawing.Color.Green)用于定义OLE格式的颜色。

Excel.XlRgbColor.rgbRed是一种着色单元格的Excel方法这种方法可以访问大量的颜色,可以在这里找到颜色列表

下面的代码是我定义excel工作表的方式。

 Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; Excel.Range xlwidthadjust; //used this to adjust width of columns object misValue = System.Reflection.Missing.Value; xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

使用此代码,我确信您不会从HRESULT获取此exceptionexception:0x800A03EC

确保您使用的是:

 using Excel = Microsoft.Office.Interop.Excel; 

如果您有要更改的范围的变量,请使用:

 chartRange = xlWorkSheet.get_Range("a5", "a8"); chartRange.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black); 

如果您只想更改特定单元格的颜色,请使用:

 xlWorkSheet.Cells[row, col].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black); 

…其中’row’是行号,’col’是分配给给定字母列的列号(从1开始)。

Exception from HRESULT: 0x800A03EC

解决方案:将misValue更改为sheet1sheet2sheet3

 xlWorkBook = xlApp.Workbooks.Add("sheet1"); 

这对我有用。 Excel.workbooks.add是什么,它与Excel.workbooks.add无关,来自Excel文件的默认值。 创建Excel文件时,默认工作表是sheet1,sheet2和sheet3。