Форматирование не сохраняется в closedXML - PullRequest
0 голосов
/ 03 апреля 2019

Я создаю файл XLSX с помощью XLWorkbook (ClosedXML.Excel).

Я хочу отформатировать столбцы в процентах / десятичных числах / числах и т. Д.

Я использовал следующее

oSheet.Range("CL2:CL200").Style.NumberFormat.SetFormat("0.00%");

когда я проверял Excel, он все еще показывает результат как 0,2030, т.е. без процентов. Но когда я дважды щелкаю по столбцу, формат меняется на процент (20,30%).

Почему в столбце не отображается процент, когда я впервые открываю Excel, т.е. без двойного щелчка.

Как сохранить формат после создания Excel в коде c #

Пример кода:

DataTable oDataTable = GetDataTable(oData);
using (XLWorkbook wb = new XLWorkbook())
{
    wb.Worksheets.Add(oDataTable, "Sheet1");
    wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right;
    wb.Style.Font.Bold = true;
    IXLWorksheet oSheet;
    wb.TryGetWorksheet("Sheet1", out oSheet);
    ange("B1:B200").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
    oSheet.Range("C1:C200").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
    oSheet.Range("D1:D200").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
    oSheet.Range("CL2:CL200").Style.NumberFormat.SetFormat("0.00%");
    oSheet.Column("CL").AdjustToContents();
    wb.SaveAs(fullPath);
}

После двойного щелчка я получаю правильный формат как:

enter image description here

...