如何在C#Excel VSTO中为单元格添加彩色边框?
我通过以下链接找到了API,并且有关于添加边框的一些描述,但不是非常具体。奇怪的是VS2010无法识别BorderAround()
方法。它似乎只承认BorderAround2()
,但抱怨我把int的参数。
下面是我尝试的代码,但VS抱怨无效的参数。
range.BorderAround2(Excel.XlLineStyle.xlDash, Type.Missing, Type.Missing, System.Drawing.Color.Red, Type.Missing);
答案 0 :(得分:2)
使用Borders.Color
对象的Bordes.LineStyle
和Range
属性。
这是来自VSTO应用程序级插件的片段。
using Excel = Microsoft.Office.Interop.Excel;
Excel.Range pRange = Globals.ThisAddIn.Application.ActiveCell;
pRange.Borders.Color = 0x0000FF; // an RGB value in hex
pRange.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
请注意,Borders.Color
属性使用提供的RGB值的倒数作为颜色。
或者,您可以使用ColorIndex
属性,但颜色范围有限。有关详细信息,请参阅this。
答案 1 :(得分:2)
我自己的方法类似于idssl建议的方法,但使用ColorTranslator.ToOle方法。
range.Borders.LineStyle = Excel.XlLineStyle.xlDot;
range.Borders.Color = ColorTranslator.ToOle(Color.Red);
这对我也有用。
答案 2 :(得分:0)
你应该看到
http://www.aspose.com/docs/display/cellsnet/Add+Borders+to+Cells+in+a+Worksheet
用
//Set the borders with hair lines style.
_range.SetOutlineBorders( CellBorderType.Hair, Color.Black);