public class HomeController : Controller
{
static List<User> GetUsers()
{
List<User> list = new List<User>() {
new User{Id=1,Name="张三"},
new User{Id=2,Name="lisi"},
new User{Id=3,Name="wangwu"}
};
return list;
}
public void SaveToExcel()
{
StringBuilder sb = new StringBuilder();
sb.Append("id").Append("\t");
sb.Append("name").Append("\n");
List<User> list = GetUsers();
foreach (var item in list)
{
sb.Append(item.Id).Append("\t");
sb.Append(item.Name).Append("\n");
}
Response.Clear();
Response.Buffer = true;
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.UTF8;
Response.ContentType = "application/ms-excel";
Response.AppendHeader("Content-Disposition", "attachment; filename=card.xls");
Response.Write(sb.ToString());
Response.End();
}
중국어 문자가 "????"로 표시됩니다. 뛰어나다.ASP.NET에서 내 보낸 경우 중국어 문자를 읽을 수 없게됩니다.
Excel을 작성하는Microsoft.Office.Interop.Excel
또는
Open XML
같은 타사 라이브러리를 사용한다
sb.ToString()을 호출 할 때 문제가 아닌지 확인 했습니까? .NET 문자열이 유니 코드 (UTF-16) 인코딩 형식이므로 이해가되지 않을 수도 있습니다. – DeanOC
읽기 [this] (http://msdn.microsoft.com/en-us/library/zs0350fy (v = versus90) .aspx) – Shell