xslt ss:公式适用于xls但不适用于xlsx

时间:2018-06-15 14:22:44

标签: .net xslt

我正在使用xslt格式系统地生成xls文件。 但是,我很难生成.xlsx格式的公式。 简短说明是我连接到为excel电子表格提供数据元素的存储过程

<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:o="urn:schemas-microsoft-com:office:office"
  xmlns:x="urn:schemas-microsoft-com:office:excel"
  xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
  exclude-result-prefixes="o x ss">


  <Cell ss:StyleID="Number2Dec">
    <Data ss:Type="Number">
      <xsl:value-of select="AmountDue" />
    </Data>
  </Cell>
  <Cell ss:StyleID="Number2Dec">
    <Data ss:Type="Number">
      <xsl:value-of select="AmountRecovered" />
    </Data>
  </Cell>
  <Cell ss:StyleID="Number2Dec" ss:Formula="=SUM(RC[-2]-RC[-1])">
    <Data ss:Type="Number">0</Data>
  </Cell>

当它以.xls格式生成时,公式计算正确,没有问题。 但是,当我以.xlsx格式生成时,它只在列中显示0。 我有一个.cs程序,计算如下

if (cellNode.Attributes != null && cellNode.Attributes["ss:Formula"] != null)
{
  var formula = cellNode.Attributes["ss:Formula"].Value;
if (formula.StartsWith("RC"))
  cell.FormulaR1C1 = formula;
else
  cell.FormulaA1 = formula;
}

非常感谢任何帮助。

0 个答案:

没有答案