从ASP.NET中的数据表导出hindi数据到excel? [英] Export hindi data to excel from datatable in ASP.NET?

查看:92
本文介绍了从ASP.NET中的数据表导出hindi数据到excel?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用下面的代码将数据从datatable导出到excel。但是当我下载它时显示????????????。我有UTF8编码,但它不能正常工作。任何人都可以帮助我?



我的尝试:



I am using below code to export data to excel from datatable.But when i download it is showing ????????????.I had UTF8 encoding but it's not working.Can anyone help me out?

What I have tried:

public void ExportToExcel(DataTable dt)
{
    Response.ClearContent();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Customers.xls"));
    Response.ContentType = "application/ms-excel";
    Response.ContentEncoding = System.Text.Encoding.UTF8;
    Response.Charset = "";
    DataTable dt1 = dt;
    string str = string.Empty;
    foreach (DataColumn dtcol in dt1.Columns)
    {
        Response.Write(str + dtcol.ColumnName);
        str = "\t";
    }
    Response.Write("\n");
    foreach (DataRow dr in dt1.Rows)
    {
        str = "";
        for (int j = 0; j < dt1.Columns.Count; j++)
        {
            Response.Write(str + Convert.ToString(dr[j]));
            str = "\t";
        }
        Response.Write("\n");
    }
    Response.End();
}

推荐答案

对于初学者来说,你实际上并没有将任何东西导出到Excel。您正在导出到具有xls扩展名的HTML文件。 Excel可以显示HTML数据,这就是您可以打开此文件的原因。


您应该查看EPPlus或Open XML SDK等选项,以便真正将数据导出到Excel。
For starters you are not really exporting anything to Excel. You are exporting to an HTML file with an xls extension. Excel can display HTML data which is why you can open this file.

You should look at options like EPPlus or the Open XML SDK for truly exporting data to Excel.


请替换以下行



Response.ContentEncoding = System.Text.Encoding.UTF8;

Response.Charset =;


你的代码中的




Response.ContentEncoding = System。 Text.Encoding.Unicode;

Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
Please replace the following lines

Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Charset = "";

in your code with

Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());


这篇关于从ASP.NET中的数据表导出hindi数据到excel?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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