.net下导出sigma_grid数据到Excel

来源:互联网 发布:java支付宝开发 编辑:程序博客网 时间:2024/05/29 16:28

今天在做sigma_grid导出Excel数据,网上的Demo都是给一个导出Excel的地址,如: exportURL : './export_php/testList.php?export=true',
但是并没有给出服务端是如何处理的,只好猜想怎么做,传统的Excel导出方法无外乎就 那么几种方式,于是对着照写:
将导出Excel路径设置为:exportURL: '../Ajax/getTableJson.ashx?type=excel',
这样为了导出Excel,采用输出HTML的方式进行导出。
获得数据源DataTable,然后将数据写成HTML,进行输出。实现代码如下:

   private void ExporttoExcel(DataTable table,string filename){            HttpContext.Current.Response.Clear();            HttpContext.Current.Response.ClearContent();            HttpContext.Current.Response.ClearHeaders();            HttpContext.Current.Response.Buffer = true;            HttpContext.Current.Response.ContentType = "application/ms-excel";            HttpContext.Current.Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");            HttpContext.Current.Response.Charset = "GB2312";            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;            //sets font            HttpContext.Current.Response.Write("<font style='font-size:10.0pt; font-family:Calibri;'>");            HttpContext.Current.Response.Write("<BR><BR><BR>");            //sets the table border, cell spacing, border color, font of the text, background, foreground, font height            HttpContext.Current.Response.Write("<Table border='1' bgColor='#ffffff' " +              "borderColor='#000000' cellSpacing='0' cellPadding='0' " +              "style='font-size:10.0pt; font-family:Calibri; background:white;'> <TR>");            //am getting my grid's column headers            int columnscount = table.Columns.Count;            for (int j = 0; j < columnscount; j++){      //write in new column                HttpContext.Current.Response.Write("<Td>");                //Get column headers  and make it as bold in excel columns                HttpContext.Current.Response.Write("<B>");                HttpContext.Current.Response.Write(table.Columns[j].ColumnName.ToString());                HttpContext.Current.Response.Write("</B>");                HttpContext.Current.Response.Write("</Td>");            }            HttpContext.Current.Response.Write("</TR>");            foreach (DataRow row in table.Rows)            {//write in new row                HttpContext.Current.Response.Write("<TR>");                for (int i = 0; i < table.Columns.Count; i++){                    HttpContext.Current.Response.Write("<Td>");                    HttpContext.Current.Response.Write(row[i].ToString());                    HttpContext.Current.Response.Write("</Td>");                }                HttpContext.Current.Response.Write("</TR>");            }            HttpContext.Current.Response.Write("</Table>");            HttpContext.Current.Response.Write("</font>");            HttpContext.Current.Response.Flush();            HttpContext.Current.Response.End();        }

效果图为:
这里写图片描述

虽然问题解决了,但是没明白sigma_grid到底怎么配置才能导出数据,如知道解决可以沟通一下!

0 0
原创粉丝点击