Набор данных экспорта ClosedXML, чтобы преуспеть с определенным форматом даты - PullRequest
0 голосов
/ 05 июня 2018

Я экспортирую DataSet в Excel, который был сгенерирован путем запуска сценария SQL в моей программе на C #.DataSet правильно хранит определенные столбцы как datetime, но, насколько я понимаю, он не хранит информацию о форматировании.Похоже, что форматирование дается при вызове

ws.FirstCell().InsertTable(dt, false);

, что дает ему формат по умолчанию дд / мм / гггг.К сожалению, я не могу просто выбрать весь диапазон с помощью ClosedXML и изменить формат чисел, поскольку столбцы со столбцами содержат числа без даты.

Полагаю, я мог бы просмотреть свой набор данных и найти, какие столбцы являются датами времени,и отформатируйте эти столбцы соответственно с closedXML.Я думаю, что должен быть лучший способ.Кто-нибудь знает простой способ сделать это с закрытым XML (или даже взаимодействие)?Я не смог ничего найти по этому вопросу.

РЕДАКТИРОВАТЬ:

Похоже, что это единственный способ на данный момент ... если кому-то это нужно (и ему удается найти этот пост), его достаточно легко сделать:

                //select which columns are dates and change default format
                int colNum = 1;  
                foreach (DataColumn col in dt.Columns)
                {
                    if (col.DataType == typeof(System.DateTime))
                    {
                        Console.WriteLine(colNum);
                        ws.Column(colNum).Style.NumberFormat.Format = "mmm-dd-yyyy";
                    }
                    colNum++;
                }
                ws.FirstCell().InsertTable(dt, false);
...