Microsoft.Office.Interop.Excel:如何将边框应用于ONE CELL

时间:2013-07-19 16:35:05

标签: c# excel border cell excel-interop

我希望使用Microsoft.Office.Interop.Excel库将边框应用于一个单元格。

我正在运行一个while循环,在某个列中搜索一个空单元格,一旦找到单元格,我想对它应用边框。

我知道有很多关于这个使用Ranges的论坛,但我不能使用范围功能,因为我不知道它正在应用于哪个单元格。

我的想法是:

(Excel.Range)xlWS.Cells [row,1] .Borders.LineStyle =(Whatever Value);

有什么建议吗? (除了链接到其他论坛,我已经看过很多表格)?

4 个答案:

答案 0 :(得分:13)

            Excel.Range range = xlWS.UsedRange;
            Excel.Range cell = range.Cells[row,column];
            Excel.Borders border = cell.Borders;

            border.LineStyle = Excel.XlLineStyle.xlContinuous;
            border.Weight = 2d;

希望这有助于某人!在单元格[行,列]周围放置细线边框!

答案 1 :(得分:11)

    Microsoft.Office.Interop.Excel.Range range = sheet.UsedRange;
    Microsoft.Office.Interop.Excel.Range cell = range.Cells[1][1];
    Microsoft.Office.Interop.Excel.Borders border = cell.Borders;
    border[XlBordersIndex.xlEdgeLeft].LineStyle =
        Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
    border[XlBordersIndex.xlEdgeTop].LineStyle =
        Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
    border[XlBordersIndex.xlEdgeBottom].LineStyle =
        Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
    border[XlBordersIndex.xlEdgeRight].LineStyle =
        Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;

有关详细信息,请参阅此answer

答案 2 :(得分:4)

到范围内的每个单元格

Microsoft.Office.Interop.Excel.Range chartRange;
chartRange = workSheet.get_Range("a1", "g7");
foreach (Microsoft.Office.Interop.Excel.Range cell in chartRange.Cells)
{
    cell.BorderAround2();
}

到整个范围

chartRange.BorderAround2();

答案 3 :(得分:1)

这是基于jiverson的答案,但基本需求更简洁;只需创建一个范围,获取其边框,并在范围的底部添加边框:

var platypusRange = _xlSheet.Range[_xlSheet.Cells[1, 1], _xlSheet.Cells[1, 3]];
. . .
Borders border = platypusRange.Borders;
border[XlBordersIndex.xlEdgeBottom].LineStyle = XlLineStyle.xlContinuous;

当然,您也可以使用xlEdgeTop,xlEdgeLeft和xlEdgeRight在顶部和侧面添加边框。