2010-11-09 8 views
1

J'utilise smartxls dans mon projet asp.net avec C#. J'ai le code suivant:Utilisation de smartxls dll Je ne peux pas changer le nom par défaut à l'ouverture

var excel = new SmartXLS.WorkBook(); 
string projPath = AppDomain.CurrentDomain.BaseDirectory; 
excel.readXLSX(projPath + @"ExcelTemplates\" + template); 
excel.ImportDataTable(....) 
Response.ContentType = "application/vnd.ms-excel"; 
excel.write(Context.REsponse.OutputStream); 

Cela semble fonctionner correctement, mes données est ouvert directement sur un lien de page sur ma page ASPX, mais lors de l'ouverture, il est de nommer automatiquement le fichier à default.xls, je ne peut pas comprendre comment changer ce nom. J'ai essayé excel.setSheetName aussi bien que excel.DefinedName, mais ni change le nom de la feuille excel quand il s'ouvre, c'est toujours default.xls. Est-ce que quelqu'un sait comment définir ce nom avec mon code ci-dessus? Je sais que je peux renommer si je l'enregistre directement dans un chemin comme C: \ filename dans l'écriture, mais j'ai besoin d'avoir un nom spécifique et ouvert automatiquement pour le client sur un bouton ou un clic de lien.

Merci

Répondre

2

Vous devez indiquer le nom du fichier explictly.

Response.ContentType = "application/vnd.ms-excel";

// ajouter cette ligne

Response.AddHeader "Content-Disposition", "attachement; Nom du fichier =" & youfileName & ".xls"

excel.write (Context.REsponse. OutputStream);

+1

Juste ce dont j'avais besoin, tx – edosoft

Questions connexes