我正在使用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;
}
非常感谢任何帮助。