【问题标题】:C# Com Interop: Set Background Colour Of A RowC# Com Interop:设置一行的背景颜色
【发布时间】:2012-07-24 06:32:54
【问题描述】:

我有一个使用此代码创建的 Excel 工作表:

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Worksheet ws = (Worksheet)wb.Worksheets[1];

我想遍历行,对于第二列中具有特定值的每一行,我想将此行的背景颜色更改为红色。

感谢任何建议。

问候。

【问题讨论】:

  • 工作表有一个 UsedRange 有一个 Rows 集合 - 每个 Row 有一个 Cells 集合 - Cell 有一个 Value 和一个 Interior.Color 属性一个 RGB(长)值。

标签: c# excel com interop


【解决方案1】:

您想要做的是使用互操作进行条件格式化。微软在这里有一个简单的例子。

http://msdn.microsoft.com/en-us/library/bb404903.aspx

【讨论】:

    【解决方案2】:

    下面的代码创建一个 Excel 文件,用随机值填充它,如果 A 列中的值大于 5,则将背景颜色转换为绿色。

            Random rnd = new Random();
    
            Excel.Application xlApp = new Excel.Application();
            Excel.Workbook wb = xlApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
            Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];
    
            // Set random data in A column
            for (int i = 1; i < 10; i++)
            {
                ws.Range["A" + i, Type.Missing].Value = rnd.Next(10);
                ws.Range["B" + i, Type.Missing].Value = rnd.Next(10);
            }
    
            // Set background if value in cell A more than 5
            int rowNum = 0;
            foreach (Excel.Range range in ws.Range["A1", "A10"])
            {
                rowNum++;
    
                if (range.Value > 5)
                {
                    foreach (Excel.Range rowRange in ws.Range["A" + rowNum, "B" + rowNum])
                    {
                        var colorScale = (Excel.ColorScale)rowRange.FormatConditions.AddColorScale(2);
                        colorScale.ColorScaleCriteria[2].FormatColor.Color = 0x0000FF00;
                    }
                }
            }
    
            // Save and close file
            wb.SaveAs("C:\\1234567890.xlsx");
            wb.Close(false, Type.Missing, Type.Missing);
            xlApp.Quit();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2010-09-17
      • 2018-07-15
      • 2014-09-04
      • 2010-11-10
      • 2013-08-04
      相关资源
      最近更新 更多