c#table导出excel怎么设定编码格式
时间: 2023-07-27 12:09:00 浏览: 115
C# 操作 Excel 如何设置格式
3星 · 编辑精心推荐
在 C# 中使用 `DataTable` 导出数据到 Excel 文件时,可以通过设置 `Encoding` 属性来指定编码格式。以下是示例代码:
```csharp
using System.Data;
using System.IO;
using System.Text;
using System.Web;
public static void ExportToExcel(DataTable dt)
{
StringBuilder sb = new StringBuilder();
// 根据文件名创建 Excel 文件
string fileName = "example.xls";
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.ContentEncoding = Encoding.GetEncoding("gb2312");
HttpContext.Current.Response.Charset = "";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8));
// 写入表头
foreach (DataColumn column in dt.Columns)
{
sb.Append(column.ColumnName + "\t");
}
sb.Append("\n");
// 写入数据
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
sb.Append(row[i].ToString() + "\t");
}
sb.Append("\n");
}
// 输出 Excel 文件
HttpContext.Current.Response.Output.Write(sb.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
}
```
在上面的代码中,通过将 `ContentEncoding` 属性设置为 `Encoding.GetEncoding("gb2312")`,即可将编码格式设定为 GB2312。你可以根据自己的需求修改编码格式。
阅读全文