Writing csv file in asp.net
        Posted  
        
            by 
                Keith
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Keith
        
        
        
        Published on 2011-02-15T06:43:24Z
        Indexed on 
            2011/02/15
            7:25 UTC
        
        
        Read the original article
        Hit count: 313
        
Hello,
I'm trying to export data to a csv file, as there are chinese characters in the data i had to use unicode.. but after adding the preamble for unicode, the commas are not recognized as delimiters and all data are now written to the first column. I'm not sure what is wrong. Below is my code which i wrote in a .ashx file.
    DataView priceQuery = (DataView)context.Session["priceQuery"];
    String fundName = priceQuery.Table.Rows[0][0].ToString().Trim().Replace(' ', '_');
    context.Response.Clear();
    context.Response.ClearContent();
    context.Response.ClearHeaders();
    context.Response.ContentType = "text/csv";
    context.Response.ContentEncoding = System.Text.Encoding.Unicode;        
    context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fundName + ".csv");
    context.Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());                
    String output = fundName + "\n";        
    output += "Price, Date" + "\n";
    foreach (DataRow row in priceQuery.Table.Rows)
    {
        string price = row[2].ToString();
        string date = ((DateTime)row[1]).ToString("dd-MMM-yy");
        output += price + "," + date + "\n";
    }
    context.Response.Write(output);
© Stack Overflow or respective owner