Je suis en train de formater une date pour un fichier Excel spécifique Export à partir d'un DataSet/DataGrid.
La date est formaté comme ceci:Format automatique de la date d'arrêt lors de l'exportation de DataGrid vers Excel en C#
DateTime date = Convert.ToDateTime(entry.Date);
string formatdate = String.Format("{0:yyyy/MM/dd}", date);
création Une fois que le DataSet est dit et fait, j'utilise le code suivant pour exporter le DataSet dans un fichier 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();
}
}
}
Mon seul problème est Une fois que j'exporte ceci dans Excel, Excel formate automatiquement les dates comme suit: MM/JJ/AAAA au lieu de AAAA/MM/JJ. Je comprends que cela pourrait être réalisé manuellement en ouvrant dans Excel, mais l'exportation est en cours de construction dans un système automatisé et doit être codé en dur.
Existe-t-il un moyen de contourner la mise en forme automatique DateTime d'Excel?
va aller la route Open XML en utilisant Microsoft Open XML SDK 2.0, il semble que ça devrait faire l'affaire! Merci de m'indiquer dans la bonne direction! – Lando