Content Type, csv export und Excel ?

wodka

Grünschnabel
Hi @ all

ich hab folgendes Problem, beim erstellen einer CSV Datei aus einem Dataset:

Die Datei wird sauber generiert und in jedem Texteditor richtig dargestellt, sobald ich sie aber in Excel öffnen will, werden die Umlaute und Sonderzeichen falsch dargestellt. Ich hab jeden beliebigen ContentEncoding Type durchprobiert, immer das selbe problem...

hier der code:

Code:
	// CSV Datei erstellen
	StreamWriter sw = new StreamWriter(filename);
			
	// Headers
	DataTable dt = userDatenDS1.Tables[0];
	int iColCount = dt.Columns.Count;
	for(int i = 0; i < iColCount; i++)
		{
		     sw.Write(dt.Columns[i]);
		     if (i < iColCount - 1)
		    {
			sw.Write(";");
		    }
		}
		sw.Write(sw.NewLine);

		// Zeilen schreiben
		foreach (DataRow dr in dt.Rows)
		{
			for (int i = 0; i < iColCount; i++)
			{
				// Wenn eintrag nicht NULL
				if (!Convert.IsDBNull(dr[i]))
				{
					sw.Write(dr[i].ToString());
				}
				if ( i < iColCount - 1)
				{
					sw.Write(";");
				}
			}
			sw.Write(sw.NewLine);
		}
		sw.Close();
		


// Datei an Browser senden
Response.ContentType = "text/cvs";
Response.ContentEncoding = System.Text.Encoding.Default;
Response.AddHeader ("Content-Disposition", "attachment;filename="+realfn+"");

						
Response.WriteFile(filename);
Response.Flush();

File.Delete(filename);
Response.End();

Das erstellen der Datei ohne Probleme, wichtig ist vorallem der Response Teil, der vielleicht falsch konfiguriert ist... ?

Danke wodka
 
problem gelöst, lag am streamwriter:

StreamWriter sw = new StreamWriter(filename,false,System.Text.Encoding.Default);

so gehts

grüße wodka
 

Neue Beiträge

Zurück