C# EĞİ;Tİ;M改为EÄÄ°;TÄ°;在导出到Excel时使用M HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer=true; HttpContext.Current.Response.Charset=“iso-8859-9”; HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.UTF8; //打开文件 StreamWriter wr=新的StreamWriter(@“D:\\book.xls”); 对于(int i=0;i

C# EĞİ;Tİ;M改为EÄÄ°;TÄ°;在导出到Excel时使用M HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer=true; HttpContext.Current.Response.Charset=“iso-8859-9”; HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.UTF8; //打开文件 StreamWriter wr=新的StreamWriter(@“D:\\book.xls”); 对于(int i=0;i,c#,asp.net,C#,Asp.net,我的问题是当导出到Excel时,EĞTİM会自动更改为EÄTÄM。这个答案来自这里 我认为问题在于Excel基于。为了证明这一点,请复制您的示例输出字符串并使用您喜爱的编辑器粘贴到测试文件中,然后另存为UTF-8编码的.csv文件。在Excel中打开并查看相同的问题。此答案来自此处 我认为问题在于Excel基于。为了证明这一点,请复制您的示例输出字符串并使用您喜爱的编辑器粘贴到测试文件中,然后另存为UTF-8编码的.csv文件。在Excel中打开并查看相同的问题。您有什么问题?我认为你的编码是错

我的问题是当导出到Excel时,
EĞTİM
会自动更改为
EÄTÄM

这个答案来自这里

我认为问题在于Excel基于。为了证明这一点,请复制您的示例输出字符串
并使用您喜爱的编辑器粘贴到测试文件中,然后另存为UTF-8编码的.csv文件。在Excel中打开并查看相同的问题。

此答案来自此处


我认为问题在于Excel基于。为了证明这一点,请复制您的示例输出字符串
并使用您喜爱的编辑器粘贴到测试文件中,然后另存为UTF-8编码的.csv文件。在Excel中打开并查看相同的问题。

您有什么问题?我认为你的编码是错误的。你的问题是什么?我认为你的编码是错误的。可能是重复的
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Charset = "iso-8859-9";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;

//open file
StreamWriter wr = new StreamWriter(@"D:\\book.xls");

for (int i = 0; i < dt.Columns.Count; i++)
{
    wr.Write(string.Format(new CultureInfo("tr-TR"),dt.Columns[i].ToString().ToUpper() + "\t"));
}

wr.WriteLine();

//write rows to excel file
for (int i = 0; i < (dt.Rows.Count); i++)
{
    for (int j = 0; j < dt.Columns.Count; j++)
    {
        if (dt.Rows[i][j] != null)
        {
            wr.Write(string.Format(new CultureInfo("tr-TR"), Convert.ToString(dt.Rows[i][j]) + "\t"));
        }
        else
        {
            wr.Write("\t");
        }
    }

    //go to next line
    wr.WriteLine();
}
//close file
wr.Close();