openXML覆盖模板

时间:2016-10-10 08:51:30

标签: c# openxml

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

在构建和打开Excel之后,单元格具有格式,但它没有像它应该那样格式化。 示例:该字段在此模板中查找。 1234.56 $,但知道它看起来像这个1234.56。所以$缺失了。 第二个例子。 12%看起来像,但知道它看起来像11.9999999997%

我输入的值是准确的值。比如1234.56和11.9999999997%所以如果我把它们手动放在generatet excle中,它会在格式化过程中变差,但在创建阶段却不会。

有没有人有一些想法?

我的插入陈述

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();
        }
    }

0 个答案:

没有答案