Je convertissait datatable pour exceller en utilisant le code suivant: public static void ExportDataTabletoExcel (String fileName, DataTable theTable) { if (theTable = null!) {datatable export vers Excel, la valeur 3E2 devenir 300, censé être un texte 3E2
//clear anything in io buffer
HttpContext.Current.Response.Clear();
//set to excel for to save file.
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.AddHeader(
"content-disposition", string.Format("attachment; filename={0}", fileName));
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.Charset = "";
HttpContext.Current.Response.BufferOutput = true;
//write columns
string tab = "";
foreach (DataColumn dc in thetable.Columns)
{
HttpContext.Current.Response.Write(tab + dc.ColumnName);
tab = "\t";
}
HttpContext.Current.Response.Write("\n");
//write rows
int i;
foreach (DataRow dr in thetable.Rows)
{
tab = "";
for (i = 0; i < thetable.Columns.Count; i++)
{
//if (i != 1)
HttpContext.Current.Response.Write(tab + dr[i].ToString());
//else
//HttpContext.Current.Response.Write(tab + "'" + dr[i].ToString());
tab = "\t";
}
HttpContext.Current.Response.Write("\n");
}
HttpContext.Current.Response.End();
}
}
Cependant la valeur 3E2 ou 0E2 ou 4E3, il est converti en nombre .. autre valeur comme 1D2 est correctement convertie en chaîne.
par exemple 3E2 deviennent 300, etc.
Vous semblez servir un fichier de valeurs séparées par des tabulations en utilisant le type MIME 'application/ms-excel'. Je doute que ce soit une bonne pratique. – Thomas
Pouvez-vous suggérer ce que je devrais utiliser à la place? –