C# openXML覆盖模板中格式化的单元格

C# openXML覆盖模板中格式化的单元格,c#,openxml,C#,Openxml,我有一个格式化的模板存储在数据库中 在构建并打开Excel后,单元格具有格式,但其格式与实际不符。 示例:该字段在模板中的外观如下所示。1234.56美元,但要知道它看起来是这样的1234.56美元。所以美元不见了。 第二个例子。12%看起来像但知道它看起来像这样11.99999999 7% 我输入的值是精确的值。比如1234.56和11.99999999 7%,所以如果我手动将它们放入generatet中,则不包括格式化,但不包括在创建阶段 有人有什么想法吗 我的插入状态 public sta

我有一个格式化的模板存储在数据库中

在构建并打开Excel后,单元格具有格式,但其格式与实际不符。 示例:该字段在模板中的外观如下所示。1234.56美元,但要知道它看起来是这样的1234.56美元。所以美元不见了。 第二个例子。12%看起来像但知道它看起来像这样11.99999999 7%

我输入的值是精确的值。比如1234.56和11.99999999 7%,所以如果我手动将它们放入generatet中,则不包括格式化,但不包括在创建阶段

有人有什么想法吗

我的插入状态

public static void InsertRows(List<ExcelRow> rowDefinitions, Stream template, string sheetName)
    {
        using (SpreadsheetDocument doc = SpreadsheetDocument.Open(template, true))
        {
            // tell Excel to recalculate formulas next time it opens the doc
            doc.WorkbookPart.Workbook.CalculationProperties.ForceFullCalculation = true;
            doc.WorkbookPart.Workbook.CalculationProperties.FullCalculationOnLoad = true;

            foreach (var rd in rowDefinitions)
            {
                // first get the context (WS + SheetData)
                var ws = GetWorksheetPart(doc.WorkbookPart, sheetName);
                var sheetData = ws.Worksheet.Descendants<SheetData>().First();


                var nr = CreateRow((uint)rd.RowIndex, sheetData);

                foreach (var cd in rd.Cells)
                {
                    var c = EnsureCell(nr, cd.ColumnName);
                    SetCellValue(cd.CellText, c, doc.WorkbookPart.SharedStringTablePart);
                }
            }
            doc.WorkbookPart.Workbook.Save();
        }
    }
publicstaticvoidinsertrows(列表行定义、流模板、字符串名称)
{
使用(SpreadsheetDocument文档=SpreadsheetDocument.Open(模板,true))
{
//告诉Excel下次打开文档时重新计算公式
doc.WorkbookPart.Workbook.CalculationProperties.forcellCalculation=true;
doc.WorkbookPart.Workbook.CalculationProperties.fullcalculationnload=true;
foreach(行定义中的变量rd)
{
//首先获取上下文(WS+SheetData)
var ws=GetWorksheetPart(doc.WorkbookPart,sheetName);
var sheetData=ws.sheet.subjects().First();
var nr=CreateRow((uint)rd.RowIndex,sheetData);
foreach(rd.Cells中的var cd)
{
var c=EnsureCell(编号,cd.ColumnName);
SetCellValue(cd.CellText、c、doc.WorkbookPart.SharedStringTablePart);
}
}
doc.WorkbookPart.Workbook.Save();
}
}

您是否尝试指定您的数字格式?如中所示?您是否尝试指定您的数字格式?比如说?