• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 352
  • Last Modified:

writing excel file does not german chars in file when creating from asp.net

I am creating multiple excel files from html table object.
this html table does some German chars along with the English text.
when i running the code the excel file is getting created but the German chars get replaced by junk chars.
I tried to changed the Encoding to UTF 7 but then the whole excel contains only junk chars.

can any one help me out here how can  export multi language data from html table to excel sheet.
here is the code
 
            StringWriter dd= new StringWriter();
 
 
 
 
            HtmlTextWriter htw = new HtmlTextWriter(dd);
 
            table.RenderControl(htw);
 
            counter += 1;
            fullFileName = "ExportDB" + counter.ToString() + ".xls";
            string filePathName = HttpContext.Current.Server.MapPath("ExcelFile/" + fullFileName);
 
            if (File.Exists(filePathName)) { File.Delete(filePathName); }
            FileStream Fs = new FileStream(filePathName, FileMode.Create);
            BinaryWriter BWriter = new BinaryWriter(Fs, Encoding.UTF7);
 
            BWriter.Write(dd.ToString());
            BWriter.Close();
            Fs.Close();

Open in new window

0
ziorrinfotech
Asked:
ziorrinfotech
  • 3
  • 2
1 Solution
 
MaxOvrdrv2Commented:
the reason is most probably because the web page that is posting the characters to the writer is not pushing using the right character set...

put this in your page:

<meta http-equiv="Content-Type" content="text/html; charset=CharacterSet">

replace characterset with the proper one for your situation.
0
 
ziorrinfotechAuthor Commented:
I added  <meta http-equiv="Content-Type" content="text/html; charset=UTF-7"> in the head tag but still it does not work.

i am attaching a screen shot of output which iam getting
a.JPG
0
 
MaxOvrdrv2Commented:
Ok, this to me looks like you're using Server.URLEncode on your text before you send it to the Excel file, Correct?
0
 
ziorrinfotechAuthor Commented:
yes that is correct i am Server.URLEncode
0
 
MaxOvrdrv2Commented:
that is the reason why your characters show up as they are... if you want the characters to show up in the excel file properly, you must remove the server.URLEncode, or if you need the server.URLEncode to pass it to a different page before sending it, then you must use the Server.URLDecode() before/during the save to the excel file.
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now