Excel Open XML样式表中的Excel ignors边框

时间:2018-06-22 09:21:51

标签: excel openxml xlsx openxml-sdk

我通过手动编码为Excel创建简单的xlsx文件。我创建了所需的最少部分,并将其放置到一个zip文件中,将其命名为xlsx,并且evering正常运行。 除了边界! Excel会忽略我所有的边界建议,但我不知道为什么。

这是我的styles.xml:

<?xml version="1.0" encoding="UTF-8"?>
<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
  <fonts count="4">
    <font>
      <name val="Calibri"/>
      <sz val="14"/>
      <b/>
      <color rgb="FF000000"/>
    </font>
    <font>
      <name val="Calibri"/>
      <sz val="10"/>
      <color rgb="FF000000"/>
    </font>
    <font>
      <name val="Calibri"/>
      <sz val="10"/>
      <b/>
      <color rgb="FF000000"/>
    </font>
    <font>
      <name val="Calibri"/>
      <sz val="6"/>
      <b/>
      <color rgb="FF000000"/>
    </font>
  </fonts>
  <fills count="2">
    <fill>
      <patternFill patternType="none"/>
    </fill>
    <fill>
      <patternFill patternType="gray125"/>
    </fill>
  </fills>
  <borders count="2">
    <border>
      <left/>
      <right/>
      <top/>
      <bottom/>
      <diagonal/>
    </border>
    <border>
      <left/>
      <right/>
      <top style="thin">
        <color rgb="FF000000"/>
      </top>
      <bottom/>
      <diagonal/>
    </border>
  </borders>
  <cellXfs count="11">
    <xf numFmtId="0" fontId="0" fillId="0" borderID="0">
      <alignment horizontal="left"/>
    </xf>
    <xf numFmtId="0" fontId="1" fillId="0" borderID="0">
      <alignment horizontal="left"/>
    </xf>
    <xf numFmtId="0" fontId="1" fillId="0" borderID="0">
      <alignment horizontal="right"/>
    </xf>
    <xf numFmtId="0" fontId="2" fillId="0" borderID="0">
      <alignment horizontal="left"/>
    </xf>
    <xf numFmtId="0" fontId="2" fillId="0" borderID="0">
      <alignment horizontal="right"/>
    </xf>
    <xf numFmtId="49" fontId="1" fillId="0" borderID="0">
      <alignment horizontal="right"/>
    </xf>
    <xf numFmtId="3" fontId="1" fillId="0" borderID="0">
      <alignment horizontal="right"/>
    </xf>
    <xf numFmtId="4" fontId="1" fillId="0" borderID="0">
      <alignment horizontal="right"/>
    </xf>
    <xf numFmtId="3" fontId="2" fillId="0" borderID="1" applyBorder="1">
      <alignment horizontal="right"/>
    </xf>
    <xf numFmtId="4" fontId="2" fillId="0" borderID="1" applyBorder="1">
      <alignment horizontal="right"/>
    </xf>
    <xf numFmtId="0" fontId="3" fillId="0" borderID="0">
      <alignment horizontal="left"/>
    </xf>
  </cellXfs>
</styleSheet>

sheet1.xml中带有边框的单元格定义如下: 带有s =“ 8”和s =“ 9”的那个应该有顶部边框。

<row r="18">
  <c r="B18" t="inlineStr" s="4">
    <is>
      <t>Summe 2018:</t>
    </is>
  </c>
  <c r="C18" t="n" s="8">
    <v>5618.85</v>
  </c>
  <c r="D18" t="n" s="8">
    <v>16262.68</v>
  </c>
  <c r="E18" t="n" s="9">
    <v>4896.25</v>
  </c>
</row>

1 个答案:

答案 0 :(得分:0)

它与单元格格式的borderID="1"属性的区分大小写有关,请尝试将其更正为borderId="1"

<xf numFmtId="3" fontId="2" fillId="0" borderId="1" applyBorder="1">
    <alignment horizontal="right"/>
</xf>
<xf numFmtId="4" fontId="2" fillId="0" borderId="1" applyBorder="1">
    <alignment horizontal="right"/>
</xf>