报表 将数据导出excel格式 且数据量超小

 public string FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";//文件名 以时间来命名文件名

在导出按钮的单击事件中写入如下代码

 protected void Button1_Click(object sender, EventArgs e)
{

 

 DataTable dtInfo = null;
        DataSet ds = new DataSet();
        StudentTjLogic logic = new StudentTjLogic();//通过查询语句得到的数据类库

dtInfo = logic.GetSchStuTj2(ddlArea.SelectedValue, this.ddlSchool.SelectedValue, this.txtTjYear.Text.Trim(),       this.ddlTjStatus.SelectedValue, hidSQL.Value);//GetSchStuTj2此方法是获得查询所得的数据
                if (dtInfo != null)
                {
                    if (dtInfo.Rows.Count > 0)
                    {
                       importexcel3.ExportDsToXls(this.Page,FileName, dtInfo);//1表示市,区疾控,街道医疗全部数据

                    }
                    else
                    {
                        MessageBox.Show(this.Page, "系统提示:当前年份还没体检数据");
                    }
                }

}

下面是导出到excel表代码、

  public static void ExportDsToXls(Page page, string fileName, DataTable dt)
    {
        page.Response.Clear();
        page.Response.Buffer = true;
        page.Response.Charset = "GB2312";
        //page.Response.Charset = "UTF-8";
        page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + System.DateTime.Now.ToString("_yyMMdd_hhmm") + ".xls");
        page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
        page.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
        page.EnableViewState = false;
        page.Response.Write(ExportTable(dt));
        page.Response.End();
    }

 

 

 

public static string ExportTable(DataTable dtinfo)
    {
        string data = "";
        string ids = "";
        //data = ds.DataSetName + "/n";
            //data += tb.TableName + "/n";
            data += "<table cellspacing=/"0/" cellpadding=/"5/" rules=/"all/" border=/"1/">";
            //写出列名
            data += "<tr style=/"font-weight: bold; white-space: nowrap;/">";
            foreach (DataColumn column in dtinfo.Columns)
            {
                data += "<td>" + column.ColumnName + "</td>";
            }
            data += "</tr>";

            //写出数据
            foreach (DataRow row in dtinfo.Rows)
            {
                data += "<tr>";
                foreach (DataColumn column in dtinfo.Columns)
                {
                    if (column.ColumnName.Equals("学号"))
                        data += "<td style=/"vnd.ms-excel.numberformat:@/">" + row[column].ToString() + "</td>";
                    else
                        data += "<td>" + row[column].ToString() + "</td>";
                }
                data += "</tr>";
            }
            data += "</table>";
        return data;
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值