C# 如何避免在C、ASP.NET中更改单元格背景后删除excel工作表的网格线颜色(默认浅灰色)?

C# 如何避免在C、ASP.NET中更改单元格背景后删除excel工作表的网格线颜色(默认浅灰色)?,c#,asp.net,excel,C#,Asp.net,Excel,我更改单元格颜色的示例代码如下。范围是指单元格范围 range.Interior.Color=System.Drawing.ColorTranslator.ToolsSystem.Drawing.Color.Yellow 如果我尝试将单元格颜色更改回白色。我用这个 range.Interior.Color=System.Drawing.ColorTranslator.ToolsSystem.Drawing.Color.White 但这会抹去我的单元格范围网格线。这些线的错误颜色是灰色的,所有的东

我更改单元格颜色的示例代码如下。范围是指单元格范围

range.Interior.Color=System.Drawing.ColorTranslator.ToolsSystem.Drawing.Color.Yellow

如果我尝试将单元格颜色更改回白色。我用这个

range.Interior.Color=System.Drawing.ColorTranslator.ToolsSystem.Drawing.Color.White

但这会抹去我的单元格范围网格线。这些线的错误颜色是灰色的,所有的东西都会变成白色。i、 e.只有“范围”网格线变为白色,所有其他单元格具有默认的excel网格颜色。
谢谢:打开Excel>开发者工具栏>录制宏>选择/突出显示范围>将背景色更改为黄色>将背景色更改为白色。现在将样式设置为“正常”

停止录制宏

然后按Alt+F11进入VBA编辑器,查看模块1中的代码


只需将代码转换为C—它与VB中的对象模型几乎完全相同。

System.Drawing.ColorTranslator.ToolsSystem.Drawing.Color.Yellow;这个问题之所以出现,是因为单元格区域的内部颜色实际上不是白色,而只是看起来是白色。默认情况下,每个单元格实际上是透明的-4142

因此,如果要将其设置回正常状态,请执行以下操作:

range.Interior.Color = -4142
编辑:最好使用常量,-4142等于xlNone

匿名类型 我不明白为什么这对你不起作用?你能改进一下你的问题吗?我尝试了以下方法,效果很好

const Int32 transparent_Color = -4142;
//Set Yellow
var Rng = ActiveSheet.Range["D5:E7"];
Rng.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow);

//Set transparent (gridlines come back, so long as you haven't got other code that is interacting with your cells)
var Rng = ActiveSheet.Range["D5:E7"];
Rng.Interior.Color = transparent_Color;

按您所说的设置单元格的背景色效果很好。谢谢。但将其设置为单元格边框不会产生任何结果。我先将颜色改为黄色,然后尝试将-4142应用于单元格,以显示每个单元格的网格线。但它不起作用。你能推荐一些吗way@JeremyxlNone给出错误。没有要添加的关键字found@Jeremy常量xlJezza作为BigInt=MEGA_LOAD@Jeremy来吧,伙计,我以为每个人的脑子里都有Jon Skeet级别的彩虹表,可以立即查找数字的潜在值,不管有多大。好吧……现在我明白了。你一开始就回答了我的问题。我把自己和网格线、默认颜色和其他颜色搞混了。Thanx我试过一种洗液。但我对使用宏感到困惑,因为我对此一无所知。但在C源代码中,我使用了属性“Normal”。它将整个单元格设置为默认值。这意味着其中的值也消失了。不是白色,而是xlNone,它是-4142,并且对堆栈溢出来说是透明的!从ASP.NET或其他服务器技术使用Office互操作是一个可怕的想法。这些API是为在桌面应用程序中使用而编写的,用于自动化Office一套桌面应用程序。服务器应用程序在许多方面都不同,因此在其中使用Office互操作是一个非常非常糟糕的主意。它也不受Microsoft支持,可能会违反您的Office许可证。请参阅@JohnSaunders谢谢:。因为我想通过源代码访问excel,所以我使用了ASP.net。只是教育目的。谢谢您提供的信息好的,您应该使用桌面应用程序与Office Automation console、Windows窗体或WPF一起工作。