OpenXML SDK - Excel 更改单元格格式 - C#

use*_*378 5 c# openxml

我有一个 C# 网络应用程序。我正在使用 xlsx 模板来创建文档。xlsx 的格式相当复杂,因此我选择了模板路线,而不是从头开始创建。在 x2 单元格中,大多数数据以百分比形式出现,但在某些情况下,它会是一个金额。但当该单元格的数量为百分比时,我似乎无法更改该单元格的格式。模板以百分比格式保存在该单元格中。设置单元格值的代码如下,适用于以货币格式保存的其他单元格。我尝试根据另一个具有相同格式的单元格中的代码将单元格样式索引设置为 103U。

如何更改单元格 x2 的格式?任何帮助将不胜感激。预先感谢。`

public void setCellValueNum(WorksheetPart ws, int row, int col, Double newVal)
    {
        Cell cl = getCell(ws.Worksheet, getColLetter(col), row);
        cl.CellValue = new CellValue(newVal.ToString());
        cl.CellReference = getColLetter(col) + row.ToString();
        cl.DataType =
            new EnumValue<CellValues>(CellValues.Number);

        //cl.StyleIndex = (UInt32Value)103U;

       }
Run Code Online (Sandbox Code Playgroud)

use*_*378 1

我使用以下代码行将格式从百分比更改为货币。这是可行的,因为默认情况下基本数字格式已添加到文件中。

cell.StyleIndex = 103U
Run Code Online (Sandbox Code Playgroud)