Comment définir le nom de la feuille pour une feuille de calcul Excel générée par C #?

StackOverflow https://stackoverflow.com/questions/1803511

  •  05-07-2019
  •  | 
  •  

Question

Nous générons une feuille de calcul Excel sur notre site Web C # .net en écrivant un tableau HTML dans Response. Cela fonctionne très bien, mais le nom de la feuille est identique à celui du fichier.

Y a-t-il un moyen de régler cela? Nous avons besoin d’un nom de feuille lors de l’importation.

Code:

string filename = String.Format( "{0}-CopyDataBack_{1}.xls", Master.EventID.ToString(), DateTime.Now.ToString( "dd-MM-yy_HHmm" ) );

Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=" + filename );
Response.Charset = "";
this.EnableViewState = false;

System.Text.StringBuilder tableOut = new System.Text.StringBuilder();
// ... Create an HTML table in a StringBuilder ...
Response.Write( tableOut );
Response.End();
Était-ce utile?

La solution

En créant un tableau et en définissant content-type sur Excel, vous ne pouvez pas définir de nom de feuille de travail ni créer d'autres feuilles de travail.

Vous pouvez générer votre classeur Excel complet en utilisant Kit de développement OpenXML SDK , mais votre client devra gérer les formats de fichier Office 2007 à l'aide de Pack de compatibilité Microsoft Office pour les formats de fichier Word, Excel et PowerPoint 2007 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top