asp.net。我要从datagrid中导出如图一样的数据到EXCel中如何做。格式要一样。

 我来答
jiangwfzl619
2012-06-06
知道答主
回答量:20
采纳率:0%
帮助的人:13.6万
展开全部
引用Excel库,然后创建WorkBook和工作表,然后遍历DataTable或集合中的数据,往工作表里面写就是了,网上代码很容易找的
追问
遍历DAtatable是否是带有表头的,(控件集合中的数据是没有带表头数据的吧?)主要是表头要动态的添加,而不是去写死。
我就是用的Excel库
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bangbangle
2012-06-07 · TA获得超过267个赞
知道小有建树答主
回答量:447
采纳率:0%
帮助的人:91.7万
展开全部
Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls");
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/vnd.ms-excel";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沐雅风电影
2012-06-07 · 超过64用户采纳过TA的回答
知道小有建树答主
回答量:191
采纳率:100%
帮助的人:125万
展开全部
你这个我做过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友baf3962
2012-06-06 · TA获得超过667个赞
知道小有建树答主
回答量:204
采纳率:100%
帮助的人:133万
展开全部
遍历绑定datagrid那个数据源,在后台拼接一个table字符串,样式跟前台一模一样,点击导出的时候,通过Excel的方式response出来,我就是这样干的,就是字段多的时候比较麻烦
追问
是否能动态的啊?   能不能给点代码参考一下?
追答
// 先说把datatable拼成table,我之前是固定列,生成动态列也可以操作。 
//大致是这样的,样式你自己写
StringBuilder strTable= new StringBuilder("");
strTable.Append("");
foreach(DataColumn dc in dt.Columns)
{
strTable.Append("");
strTable.Append(dc.ColumnName);
strTable.Append("");
}
strTable.Append("");
foreach (DataRow dr in dt.Rows)
{
strTable.Append("");
foreach(DataColumn dc2 in dt.Columns)
{
strTable.Append("");
strTable.Append(dr[dc2.ColumnName]);
strTable.Append("");
}
strTable.Append("");
}
StringBuilder strTable = new StringBuilder("");
//这样就拼成一个html的table了
//下面是输出
System.Web.HttpContext curContext = System.Web.HttpContext.Current;
System.IO.StringWriter strWriter = null;
curContext.Response.ContentType = "application/vnd.ms-excel";
curContext.Response.ContentEncoding = System.Text.Encoding.UTF7;
curContext.Response.Charset = "GB2312";
curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=File-" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
// 导出excel文件
strWriter = new System.IO.StringWriter();
strWriter.Write(strTable.ToString());
curContext.Response.Write(strWriter);
curContext.Response.End();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式