DataTable导出到Excel文件
/// <summary>
/// DataTable导出到Excel文件
/// </summary>
/// <param name="dtable"></param>
public static bool DataTableToExcel(DataTable dtable)
{
if (dtable != null && dtable.Rows.Count > 0)
{
//设置基本信息
HttpResponse resp = HttpContext.Current.Response;
try
{
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.ContentType = "application/vnd.ms-excel";
resp.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".xls");
//this.EnableViewState = false;
string colHeaders = "", Is_item = "";
//设置数据表各列标题,标题之间以\t分割,最后一个列标题后加回车符
for (int i = 0; i < dtable.Columns.Count; i++)
{
if (i != dtable.Columns.Count - 1)
colHeaders += dtable.Columns[i].ToString() + "\t";
else
colHeaders += dtable.Columns[i].ToString() + "\n";
}
resp.Write(colHeaders);
//逐列取得数据,数据之间以\t分割,结束时加回车符\n
for (int i = 0; i < dtable.Rows.Count; i++)
{
for (int j = 0; j < dtable.Columns.Count; j++)
{
if (j != dtable.Columns.Count - 1)
Is_item += NoHTML(dtable.Rows[i][j].ToString()) + "\t";//yzh 2013-3-14 添加NoHTML处理
else
Is_item += NoHTML(dtable.Rows[i][j].ToString()) + "\n";
}
resp.Write(Is_item);
Is_item = "";
}
//写缓冲区中的数据到HTTP头文件中
resp.End();
return true;
}
catch (System.Threading.ThreadAbortException ex)
{
throw ex;
}
catch (Exception exx)
{
LogHelper.WriteLog("报表统计-担保公司业务统计导出异常:", exx);
return false;
}
finally
{
resp.End();
}
}
else
{
return false;
}
}

浙公网安备 33010602011771号