UTF8无法在Excel中运行

1Ma*_*yur 2 .net c# asp.net-mvc excel

在我正在使用的.net代码中

byte[] bytesToSend = System.Text.Encoding.UTF8.GetBytes(partialtorender);
Run Code Online (Sandbox Code Playgroud)

然后我写它擅长

"印地语"语言中的文字在生成的excel中变得乱七八糟,你能建议做什么吗?

System.IO.MemoryStream memStr = new System.IO.MemoryStream();

memStr.Write(bytesToSend, 0, bytesToSend.Length);

 memStr.Position = 0;

FileStreamResult result1 = new FileStreamResult(memStr, "application/ms-excel");

Response.AddHeader("content-disposition", "attachment; filename=" + "newExcelSheet" + ".xls");

return result1;
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 9

尝试发出UTF-8前导码以指示对Excel的正确编码.此外,.xls是专有的二进制格式.您不能像在代码中那样使用字符串变量.

以下是CSV文件导出的示例:

public ActionResult Index()
{
    var csv = "???? ??????;some other value";
    var data = Encoding.UTF8.GetBytes(csv);
    data = Encoding.UTF8.GetPreamble().Concat(data).ToArray();
    var cd = new ContentDisposition
    {
        Inline = false,
        FileName = "newExcelSheet.csv"
    };
    Response.AddHeader("Content-Disposition", cd.ToString());
    return File(data, "text/csv");
}
Run Code Online (Sandbox Code Playgroud)