打开Xml Excel设置单元格格式为百分比

时间:2014-04-17 09:21:03

标签: c# excel openxml

我有c#代码,以编程方式在电子表格中插入单元格。我无法为这些单元格设置感知格式:

        Cell cell = OpenXmlHelper.GetCell(ws, address);            
        if (cell == null)
        {
            cell = InsertCellInWorksheet(ws, rowIndex, column);
        }

        cell.DataType = CellValues.Number; 


        cell.CellValue = new CellValue(value.ToString());

而不是cell.DataType = CellValues.Number;我需要一些设置Percentage的代码。 你能给我一些关于openxml中excel单元格格式化百分比的线索或教程吗?

Open Xml Excel set cell format to be Percentage相比 我的号码为0.08,我需要将其显示为8%。

1 个答案:

答案 0 :(得分:-2)

尝试cell.StyleIndex = (UInt32Value)1U;

编辑以回复重新评论

此代码改编自Open XML SDK 2.0 Productivity Tool提供的代码。在此工具中查看百分比格式化单元格时,它生成的代码为:

// Creates an Cell instance and adds its children.
public Cell GenerateCell()
{
    Cell cell1 = new Cell(){ CellReference = "A1", StyleIndex = (UInt32Value)1U };
    CellValue cellValue1 = new CellValue();
    cellValue1.Text = "0.2";

    cell1.Append(cellValue1);
    return cell1;
}

至于1U是什么,它似乎是微软决定用来表示样式的神奇数字(U部分只是意味着数字是无符号的)。