此方法适用服务器端未安装Excel组件的情况。
/// <summary>
/// 导出DataTable的数据到Excel
/// </summary>
/// <param name="dt">数据表</param>
/// <param name="path">存放路径</param>
public void DataTabletoExcel(DataTable dt, string path)
{
StreamWriter sw = new StreamWriter(path, false, Encoding.GetEncoding("gb2312"));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < dt.Columns.Count; i++)
{
sb.Append(dt.Columns[i].ColumnName.ToString() + "\t");
}
sb.Append(Environment.NewLine);
for (int m = 0; m < dt.Rows.Count; m++)
{
System.Windows.Forms.Application.DoEvents();
for (int n = 0; n < dt.Columns.Count;n++)
{
sb.Append(dt.Rows[m][n].ToString() + "\t");
}
sb.Append(Environment.NewLine);
}
sw.Write(sb.ToString());
sw.Flush();
sw.Close();
}