asp.net。我要从datagrid中导出如图一样的数据到EXCel中如何做。格式要一样。
4个回答
展开全部
引用Excel库,然后创建WorkBook和工作表,然后遍历DataTable或集合中的数据,往工作表里面写就是了,网上代码很容易找的
追问
遍历DAtatable是否是带有表头的,(控件集合中的数据是没有带表头数据的吧?)主要是表头要动态的添加,而不是去写死。
我就是用的Excel库
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls");
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/vnd.ms-excel";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个我做过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
遍历绑定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();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |