在.csv文件导出不同语言的内容在C# [英] Export different language content in .csv file in c#

查看:246
本文介绍了在.csv文件导出不同语言的内容在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想数据.csv文件导出。这里,数据是在不同的语言(树胶,丹麦,..等)..文件可以被成功地导出,但该文件中的数据内容被取代?和其它符号。我需要导出数据,因为它是在.csv文件。我试图用一切可能的方式,我发现网络上,但不能导出正确的数据。能否请您帮助我。

感谢

下面是我的code。

 保护无效lnkExport_Click(对象发件人,EventArgs的发送)
        {
            清单< Entities.Users_Users> lstUsers =新的List< Entities.Users_Users>();            lstUsers = BLL.Users_Users.GetDealerUsers(Convert.ToInt16(dealerid));            StringBuilder的SB =新的StringBuilder();            sb.Clear();            sb.Append(\"[USERNAME],[$p$pFIX],[FIRSTNAME],[MIDDLENAME],[LASTNAME],[COMPANYNAME],[JOBTITLE],[CONTACTEMAILID],[USERTYPE$c$c],[STATUS$c$c],[DEALER],[PHONE],[COMPANYLANGUAGE],[ISRECEIVECAMPAIGN],[RECEIVECAMPAIGNEMAILID]\");            sb.Append(\\ r \\ n);            的foreach(Entities.Users_Users UserDetail在lstUsers)
            {
                sb.Append(UserDetail.UserName +,+ UserDetail preFIX +,+ UserDetail.FirstName +,+ UserDetail.MiddleName +,);
                sb.Append(UserDetail.LastName +,+ UserDetail.CompanyName +,+ UserDetail.JobTitle +,);
                sb.Append(UserDetail.ContactEmailID +,+ UserDetail.UserType code +,+ UserDetail.Status code +,);
                sb.Append(UserDetail.DealerName +,+ UserDetail.Phone +,+ UserDetail.Language +,);
                sb.Append(UserDetail.IsReceiveCampaign +,+ UserDetail.ReceiveCampaignEmailId);                sb.Append(\\ r \\ n);
            }
            UTF8Encoding UTF8 =新UTF8Encoding();
            VAR preamble = utf8.Get preamble();            VAR数据= ut​​f8.GetBytes(sb.ToString());            //字符串连接=的String.Format(附件;文件名= ExportUsers.csv,uomEn codeD);
          //编码编码= Encoding.UTF8;
            Response.Clear();
            Response.ClearHeaders();
            Response.ClearContent();
            Response.ContentType =TEXT / CSV;
            Response.ContentEncoding = System.Text.Encoding.UTF8;
           //将Response.Buffer = TRUE;
            Response.AddHeader(内容处置,附件;文件名= ExportUsers.csv);
            //Response.Charset =;
           // Response.Charset的= encoding.EncodingName;
            的Response.Write(sb.ToString());
            Response.Flush();
            到Response.End();
        }


解决方案

这是你可能丢失(第一行):

  Response.BinaryWrite(System.Text.Encoding.UTF8.Get preamble());
的Response.Write(sb.ToString());

I am trying to export data in a .csv file. Here, the data is in different languages (arabic, danish,.. etc).. the file can be exported successfully but the data content in the file are being replaced by ? and other symbols. i need to export the data as it is, in the .csv file. i tried with every possible way i found out on web but couldn't export the correct data. Can you please help me out.

Thanks

below is my code.

 protected void lnkExport_Click(object sender, EventArgs e)
        {
            List<Entities.Users_Users> lstUsers = new List<Entities.Users_Users>();

            lstUsers = BLL.Users_Users.GetDealerUsers(Convert.ToInt16(dealerid));

            StringBuilder sb = new StringBuilder();

            sb.Clear();

            sb.Append("[USERNAME],[PREFIX],[FIRSTNAME],[MIDDLENAME],[LASTNAME],[COMPANYNAME],[JOBTITLE],[CONTACTEMAILID],[USERTYPECODE],[STATUSCODE],[DEALER],[PHONE],[COMPANYLANGUAGE],[ISRECEIVECAMPAIGN],[RECEIVECAMPAIGNEMAILID]");

            sb.Append("\r\n");

            foreach (Entities.Users_Users UserDetail in lstUsers)
            { 
                sb.Append(UserDetail.UserName + "," + UserDetail.Prefix + "," + UserDetail.FirstName + "," + UserDetail.MiddleName + ",");
                sb.Append(UserDetail.LastName + "," + UserDetail.CompanyName + "," + UserDetail.JobTitle + ",");
                sb.Append(UserDetail.ContactEmailID + "," + UserDetail.UserTypeCode + "," + UserDetail.StatusCode + ",");
                sb.Append(UserDetail.DealerName + "," + UserDetail.Phone + "," + UserDetail.Language + ",");
                sb.Append(UserDetail.IsReceiveCampaign + "," + UserDetail.ReceiveCampaignEmailId);

                sb.Append("\r\n");
            }


            UTF8Encoding utf8 = new UTF8Encoding();


            var preamble = utf8.GetPreamble();

            var data = utf8.GetBytes(sb.ToString());



            //string attachment = String.Format("attachment;filename=ExportUsers.csv", "uomEncoded");
          //  Encoding encoding = Encoding.UTF8;
            Response.Clear();
            Response.ClearHeaders();
            Response.ClearContent();
            Response.ContentType = "text/csv";  
            Response.ContentEncoding = System.Text.Encoding.UTF8;
           // Response.Buffer = true;
            Response.AddHeader("content-disposition", "attachment;filename=ExportUsers.csv");
            //Response.Charset = "";
           // Response.Charset = encoding.EncodingName;


            Response.Write(sb.ToString());
            Response.Flush();
            Response.End();
        }

解决方案

That is what you probably missing (first line):

Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
Response.Write(sb.ToString());

这篇关于在.csv文件导出不同语言的内容在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆