Excel 忽略 Excel 打开 XML 样式 sheet 中的边框

Excel ignors border in Excel Open XML style sheet

我通过手动编码为 excel 创建了简单的 xlsx 文件。我创建了最少的必需部分,将其放入一个 zip 文件中,并将其命名为 xlsx,并且一切正常。 除了边界!! 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>

与单元格格式的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>