2010-01-31 13 views
0

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.

+1

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

+0

Pouvez-vous suggérer ce que je devrais utiliser à la place? –

Répondre

1

guillemets doubles Mettez autour de la valeur afin qu'il soit évident pour Excel qui est une chaîne et non un nombre en notation scientifique.