从C#生成Excel - 如何制作对角线边框?

时间:2009-10-15 16:32:02

标签: c# xml excel

我正在使用C#生成Excel电子表格并使用this library将其保存为Excel 2003 XML格式。我需要创建一个包含大X的单元格。客户端发送的示例使用左右对角线边框来完成此操作。

我一直无法找到正确的代码语法来以这种方式设置单元格的样式。这是怎么做到的?

以下是它的外观:

alt text http://preview.moveable.com/JM/ExcelBorders.gif

1 个答案:

答案 0 :(得分:2)

从Excel保存的XML中的

显示如下:

<Style ss:ID="s22">
   <Borders>
    <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
    <Border ss:Position="DiagonalLeft" ss:LineStyle="Continuous" ss:Weight="1"/>
    ...

我不知道这个库,但我看到你可以使用XmlStyle类来定义单元格的边框,特别设置Border.Sides属性:

XmlStyle sBorder = new XmlStyle();
sBorder.Border.Color = Color.Black;
sBorder.Border.Weight = 1;
sBorder.Border.LineStyle = Borderline.Continuous;
sBorder.Border.Sides = BorderSides.DiagonalLeft; //<-- here where I'm not sure!
                                                 //(I can't access the docs
                                                 // right now to check that Enum)

sheet[x, y].Style = sBorder;
如果你没有尝试,可能会有所帮助。