java导出word datatable_C#将DataTable导出Execl、Word、Xml

/// ///将DT转换为Execl的方法/// /// 需要导出的DT/// 页面/// 文件名

public void ToExecl(DataTable dt, Page page, stringfileName)

{

HttpResponse response=page.Response;

response.Clear();

response.ContentType= "application/x-excel";

response.ContentEncoding= System.Text.Encoding.GetEncoding("GB2312");

response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) + ".xls");

StringBuilder sB= newStringBuilder();for (int j = 0; j < dt.Columns.Count; j++)

{

sB.Append(dt.Columns[j].Caption+ "\t");

}

sB.Append("\n");for (int i = 0; i < dt.Rows.Count; i++)

{for (int k = 0; k < dt.Columns.Count; k++)

{

sB.Append("=\"" + dt.Rows[i][k].ToString() + "\"\t"); //解决导出的单元格以科学计数法显示的问题

}

sB.Append("\n");

}

response.Write(sB.ToString());

response.End();

}public void ToWord(DataTable dt, Page page, stringfilName)

{

HttpResponse response=page.Response;

response.Clear();

response.ContentType= "application/msword";

response.ContentEncoding= System.Text.Encoding.GetEncoding("GB2312");

response.AddHeader("Content-Disposition","attachment:filename="+System.Web.HttpUtility.UrlEncode(filName,System.Text.Encoding.UTF8)+".doc");

StringBuilder sBuilder= newStringBuilder();for (int i = 0; i < dt.Rows.Count; i++)

{

sBuilder.Append(dt.Rows[i][1].ToString()+"\n");

}

response.Write(sBuilder.ToString());

response.End();

}public void ToXML(DataTable dt, Page page, stringfilename)

{

HttpResponse response=page.Response;//DataSet ds = new DataSet();

response.Clear();

response.ContentType= "application/x-excel";

response.ContentEncoding= System.Text.Encoding.GetEncoding("GB2312");

response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(filename,System.Text.Encoding.UTF8) + ".xls");

System.Text.UTF8Encoding utf8= newSystem.Text.UTF8Encoding();

System.Xml.XmlTextWriter xw= newXmlTextWriter(response.OutputStream, utf8);

xw.Formatting=Formatting.Indented;

xw.Indentation= 4;

xw.IndentChar= ‘ ‘;

dt.TableName= "dd";

dt.WriteXml(xw);

dt= null;

GC.Collect();

xw.Flush();

xw.Close();

response.End();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值