• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET利用MD.DLL转EXCEL具体实现
    前提
    引入MD.dll 文件;
    下载地址:https://www.jb51.net/dll/MD.dll.html
    1、建立无CS文件的DownExcel.aspx 文件
    复制代码 代码如下:

    %@ Page Language="C#" %>
    %@ import Namespace="System.Data" %>
    %@ import Namespace="System.Data.SqlClient" %>
    %@ import Namespace="MD" %>
    script runat="server">
    string tableName = "";
    string procName ="";
    private string selectSql( string selstr )
    {
    string sp =selstr + " WHERE";
    int iwhere;
    iwhere=sp.IndexOf("WHERE");
    iwhere=iwhere+7;
    string sall = Server.UrlDecode(Request.QueryString.ToString());
    string[] sparams;
    sparams=sall.Split('');
    int i=0;
    if (sparams.Length>1){
    while (isparams.Length){
    if (!(sparams[i].StartsWith("table"))){
    if ((sparams[i].StartsWith("str") )){
    sp=sp+" and " + sparams[i].Replace("=","='").Substring(3) + "'";
    }
    if ((sparams[i].StartsWith("num") ))
    {
    sp=sp+" and " + sparams[i].Substring(3) + "";
    }
    }
    i++;
    }
    }
    if (sp.IndexOf("and") >0 ){
    sp = (sp.Substring(0,sp.IndexOf("and")) + sp.Substring(sp.IndexOf("and")+3));
    }
    //sp=sp.Replace("=","='");
    if (sp.Lengthiwhere) {
    sp=sp.Substring(0,(iwhere-8));
    }
    return sp;
    }
    private string selectProc( string selstr )
    {
    string sp =selstr + " ";
    string sall = Server.UrlDecode(Request.QueryString.ToString());
    //Server.UrlDecode(Request.QueryString.ToString());
    string[] sparams;
    sparams=sall.Split('');
    int i=0;
    if (sparams.Length>1)
    {
    while (isparams.Length)
    {
    if (!(sparams[i].StartsWith("procedure")))
    {
    if ((sparams[i].StartsWith("str") ))
    {
    sp=sp + "'" + sparams[i].Substring( sparams[i].IndexOf("=")+1) + "',";
    }
    if ((sparams[i].StartsWith("num") ))
    {
    sp=sp + sparams[i].Substring( sparams[i].IndexOf("=")+1) + ",";
    }
    }
    i++;
    }
    }
    if (sp.EndsWith(",")){
    sp=sp.Substring(0, (sp.Length -1));
    }
    return sp;
    }
    private void Page_Load(object sender, System.EventArgs e)
    {
    // setup connection
    //Response.Write(selectSql("start test!"));
    string conn = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; /// System.Configuration.ConfigurationSettings.AppSettings["connectionString"];
    if (Request.QueryString["table"]== null Request.QueryString["procedure"]==null)
    {
    this.Response.Write("not supply correct parameters!");
    this.Response.End();
    return;
    }
    DataSet ds = new DataSet();
    ds.Locale = new System.Globalization.CultureInfo("zh-CN");
    //OleDbDataAdapter adapter=new OleDbDataAdapter();
    if (!(Request.QueryString["table"]== null ) )
    {
    /*string test1=selectSql(("SELECT * from " + Request.QueryString["table"]));
    this.Response.Write(test1);
    this.Response.End();
    return;*/
    tableName=Request.QueryString["table"];
    MD.SqlHelper.FillDataset(conn,System.Data.CommandType.Text ,selectSql(("SELECT * from " + tableName)),ds,new string[] {"down"});
    }
    if (!(Request.QueryString["procedure"]== null ) )
    {
    /*string test2=selectProc(("exec " + Request.QueryString["procedure"]));
    this.Response.Write(test2);
    this.Response.End();
    return;*/
    procName=Request.QueryString["procedure"];
    MD.SqlHelper.FillDataset(conn,System.Data.CommandType.Text ,selectProc(("exec " + procName)),ds,new string[] {"down"});
    }
    if (ds.Tables[0].Rows.Count==0){
    this.Response.Write("条件不符,查询没有任何资料!");
    return;
    }
    string downRes="";
    if (procName=="")
    {
    downRes=tableName;
    }
    else
    {
    downRes=procName;
    }
    //OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * from " + tableName, conn);
    //Response.Write(selectSql("SELECT * from " + tableName));
    //return;
    // open the Database and get the results
    this.DataGridDown.DataSource=ds;
    this.DataGridDown.DataBind();
    this.Response.Clear();
    this.Response.Buffer =true;
    this.Response.Charset="utf-8";
    this.Response.ContentType="application/ms-excel";
    this.Response.AppendHeader("content-Disposition","attachment;filename="+downRes+".xls");
    this.Response.ContentEncoding =System.Text.Encoding.GetEncoding("utf-8");
    //Response.ContentEncoding = System.Text.Encoding.utf-8;
    this.EnableViewState =false;
    System.IO.StringWriter OStringWriter = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter OHtmlTextWriter = new System.Web.UI.HtmlTextWriter(OStringWriter);
    this.DataGridDown.RenderControl(OHtmlTextWriter);
    this.Response.Write(OStringWriter.ToString());
    this.Response.End();
    // if the action is update, well, we update our DB
    }
    /script>
    html>
    head>
    meta http-equiv="content-type" content="application/x-excel; charset=UTF-8"/>
    !-- meta http-equiv="Content-Type" content="application/x-msexcel; charset=iso-8859-1" /> -->
    /head>
    body>
    form runat="server">
    asp:DataGrid id="DataGridDown" style="Z-INDEX: 100; POSITION: absolute" runat="server" Height="373px" Width="674px" >
    /asp:DataGrid>
    !-- Insert content here -->
    /form>
    /body>
    /html>

    2、调用方法
    http://localhost:13042/report/downexcel.aspx?procedure=P_PP_SPC_FindCountstrWorkCenterNum=0strStatus=全部strPartno=
    注解
    P_PP_SPC_FindCoun:存储过程
    WorkcenterNum:参数
    在每个参数前都要加上‘Str'表示该参数是字符串型
    所以参数要写成StrWorkcenterNum
    您可能感兴趣的文章:
    • ASP.NET实现读取Excel内容并在Web上显示
    • ASP.NET中上传并读取Excel文件数据示例
    • asp.net导出excel的简单方法实例
    • asp.net读取excel文件的三种方法示例
    • asp.net导出Excel乱码的原因及解决方法
    • asp.net读取excel中的数据并绑定在gridview
    • asp.net使用npoi读取excel模板并导出下载详解
    • asp.net导出Excel类库代码分享
    • Asp.Net用OWC操作Excel的实例代码
    • Asp.net中DataTable导出到Excel的方法介绍
    • ASP.NET(C#)读取Excel的文件内容
    • Asp.Net使用Npoi导入导出Excel的方法
    上一篇:datagrid绑定list没有数据 表头不显示的解决方法
    下一篇:解析利用wsdl.exe生成webservice代理类的详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    ASP.NET利用MD.DLL转EXCEL具体实现 ASP.NET,利用,MD.DLL,转,EXCEL,