Я экспортирую 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);