Dataset/Gridview to xls, problema con lettere accentate

giovedì 16 luglio 2009 - 09.10

a.malisani Profilo | Newbie

Salve, ho un problema con l'esprtazione da datset/gridview in excel... Nel file generato tutte le lettere accentate "ò à ù è ì" diventato altri simboli tipo ù per la ù...
cosa posso fare????

System.Web.UI.WebControls.DataGrid grid = new System.Web.UI.WebControls.DataGrid();
grid.HeaderStyle.Font.Bold = true;
grid.DataSource = data;
grid.DataBind();
string attachment = "attachment; filename=Export.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();

Alessandro

LuxSkyWalker Profilo | Junior Member

Ciao...ti riferisci ai caratteri html giusto?
Se sì, anche io avevo avuto in passato un problema simile...realizzati un metodo che va a fare un replace dei caratteri html...

Ok?Tutto chiaro?
LuxSkyWalker
Junior Developer .NET

a.malisani Profilo | Newbie

Esempio menù diventa menù.... qundi prima di generare l'xls dovrei trasformare menù in menu' ?

LuxSkyWalker Profilo | Junior Member

private string PulisciDaHTML(string testo)
{
//Sostituisce eventuali caratteri html con l'opportuna codifica.
return HttpUtility.HtmlDecode(testo);
}

Io uso un metodo cosi...gli passi il campo da esportare e lui lo pulisce automaticamente...

Prova e fammi sapere!!!!



LuxSkyWalker
Junior Developer .NET

a.malisani Profilo | Newbie

purtroppo non funziona, ho risolto aggiungiendo:

"Response.ContentEncoding = System.Text.Encoding.GetEncoding("latin9");//per evitare errori negli acccenti"

string attachment = "attachment; filename=Contacts.xls";
---> Response.ContentEncoding = System.Text.Encoding.GetEncoding("latin9");//per evitare errori negli acccenti
Response.ClearContent();

grazie del supporto!


Alessandro

Developer .NET

LuxSkyWalker Profilo | Junior Member

Non funziona perchè?
Se il problema è lo stesso, dovrebbe risolvertelo...




LuxSkyWalker
Junior Developer .NET

a.malisani Profilo | Newbie

non saprei perche non ha funzionato..pero voglio capire... mi sembrava corretto,
appena posso provo a vediamo perche....

Alessandro

Developer .NET

LuxSkyWalker Profilo | Junior Member

Certo che è corretto...è in ambiente di produzione nella mia azienda!!!

Magari non l'hai chiamato nel modo corretto...non saprei...se hai cmq bisogno, non hai che da scrivere!

ciau
LuxSkyWalker
Junior Developer .NET

a.malisani Profilo | Newbie

esatto non l'ho chiamo nel modo corretto!
Grazie!
Alessandro

Developer .NET

LuxSkyWalker Profilo | Junior Member




LuxSkyWalker
Junior Developer .NET
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5