【问题标题】:How to use no fill for background color of a excel cell using c#?如何使用c#对excel单元格的背景颜色不使用填充?
【发布时间】:2012-04-27 14:44:14
【问题描述】:

有了这个:

using Excel = Microsoft.Office.Interop.Excel; 

我正在打开 excel 并将第一个单元格的颜色设置为透明后,如下所示:

xlRange = xlWorkSheet.get_Range("A1");
xlRange.Interior.Color = System.Drawing.Color.Transparent;

问题是它把白色和“边界”消失了。我想设置“无填充”选项,但它不起作用。

我也试过这个:

xlRange.Interior.Color = System.Drawing.Color.Empty;

但随后它将单元格颜色更改为黑色。


我该如何解决这个问题?

【问题讨论】:

    标签: c# excel c#-4.0


    【解决方案1】:

    假设您想要获得与单元格的初始状态相同的状态(在新工作表中),请使用:

    xlRange.Interior.ColorIndex = 0;
    

    【讨论】:

      【解决方案2】:

      试试这个:

      xlRange.Interior.Pattern = Excel.Constants.xlNone;
      xlRange.Interior.TintAndShade = 0;
      xlRange.Interior.PatternTintAndShade = 0;
      

      【讨论】:

      • 它工作得很好,但我使用了@Geoff 答案,因为它只是一个命令。
      【解决方案3】:

      也许这只是部分与这个问题有关;但我注意到使用

      xlRange.Interior.Pattern = Excel.XlPattern.xlPatternNone;;

      所有单元格填充颜色也会消失。使用时不是这样:

      xlRange.Interior.Pattern = Excel.XlPattern.xlPatternAutomatic;

      我正在搜索这个并遇到了这个问题,所以我添加了这个以获得更多信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-09
        • 1970-01-01
        相关资源
        最近更新 更多