В настоящее время я форматирую дату для определенного файла Excel. Экспорт из DataSet / DataGrid.
Дата отформатирована так:
DateTime date = Convert.ToDateTime(entry.Date);
string formatdate = String.Format("{0:yyyy/MM/dd}", date);
После того как создание набора данных произнесено и выполнено, я использую следующий код для экспорта набора данных в файл Excel:
public static void ExportDStoExcel(DataSet ds, string filename)
{
HttpResponse response = HttpContext.Current.Response;
response.Clear();
response.Charset = "";
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
DataGrid dg = new DataGrid();
dg.DataSource = ds.Tables[0];
dg.DataBind();
dg.RenderControl(htw);
response.Write(sw.ToString());
response.End();
}
}
}
Моя единственная проблема - это когда я экспортирую это в Excel, Excel автоматически форматирует даты следующим образом: MM / DD / YYYY вместо YYYY / MM / DD.
Я понимаю, что этого можно достичь вручную, открыв в Excel, но экспорт встраивается в автоматизированную систему и требует жесткого кодирования.
Есть ли способ обойти автоформатирование DateTime в Excel?