添加nummeric单元格值时,Excel电子表格中的OpenXML SDK C#错误

时间:2013-04-15 08:10:01

标签: c# openxml-sdk

我正在使用OpenXML将数据从网站导出到Excel。我有一些文本字段(例如Project Infos)和许多需要导出的小数值。导出文本值没有问题,但是只要我想添加小数值就会启动我的电子表格,当我在Excel 2013中打开它时它会说

  

“您要打开的speadsheet包含错误”。

我可以打开它并且值在那里但是它们被保存为文本而不是数字 当我将十进制值定义为文本值时,没有错误。我添加小数值的代码是这样的:

private Cell createDecimalCell(int columnIndex, int rowIndex, decimal value, UInt32Value cellStyleIndex)
    {
        Cell cell = new Cell();
        cell.CellReference = getColumnName(columnIndex) + rowIndex;
        cell.CellValue = new CellValue();
        cell.CellValue.Text = value.ToString();
        if (cellStyleIndex.HasValue)
            cell.StyleIndex = cellStyleIndex;
        return cell;
    }

电话看起来有点像这样:

cell = createDecimalCell(index, rowIndex, 12.3M, CellFormats["BasicDecimal"]); 

CellFormats只是一个List,在电子表格中包含我自己定义的所有CellFormatsIds。 CellFormats [“BasicDecimal”]被定义为一个单元格格式,其中Arial为字体,10pts为fontsize,没有粗体或任何东西,以及带有1位小数的自创编号格式。 我已经尝试将单元格的数据类型定义为CellValues.Number,但它没有帮助。经过大量的搜索和尝试后,即使MS网站没有帮助,我也没有找到解决方案。

0 个答案:

没有答案