StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        this.searchlistGrid.RenderControl(htw);
        string strHtml = sw.ToString().Trim();        string ExcelFileName = "导出的.xls";
        string FilePhysicialPathName = Request.PhysicalApplicationPath;        //生成的Excel文件名
        string objectExcelFileName = Path.Combine(FilePhysicialPathName, ExcelFileName);        if (File.Exists(objectExcelFileName))
        {
            File.Delete(objectExcelFileName);
        }
        FileStream fs = new FileStream(objectExcelFileName, FileMode.Create);
        BinaryWriter bw = new BinaryWriter(fs, Encoding.GetEncoding("GB18030"));
        bw.Write(strHtml);
        bw.Close();
        fs.Close();
我导出的时候成功的导出到了Excle中,但是却在根目录。
问题是客户端该怎么办!!!。
如何直接导出到根目录。如果有源码下载更好。谢谢

解决方案 »

  1.   

    我导出的时候成功的导出到了Excle中,但是却在根目录。
    问题是客户端该怎么办!!!。
    如何直接导出到根目录。如果有源码下载更好。谢谢??
      

  2.   

    我点击导出按钮,确实是导出成功了,找了半天,导出的文件在IIS根目录中。问题是导出到客户端又该怎么办。
      

  3.   

    你可以通过在服务器新建一个文件夹,导出的时候,用Server.MapPath取得指定的该文件夹下的路径,导出到该文件夹下,然后以:
                    //mapPath就是该文件夹下刚导出的Excel文件的路径,包括文件名
                    System.IO.FileInfo file = new System.IO.FileInfo(mapPath);
                    Response.Clear();
                    Response.Charset = "GB2312";
                    Response.ContentEncoding = System.Text.Encoding.UTF8;
                    Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
                    Response.AddHeader("Content-Length", file.Length.ToString());
                    Response.ContentType = "application/ms-excel";
                    Response.WriteFile(file.FullName);
                    Response.Flush();
                    file.Delete();
                    Response.End();
    的方式下载到你想放到的本地的路径下,然后file.Delete(),就自动把刚才所暂时存放在服务器的文件删掉
      

  4.   

    winform 就用 filedailg   web  用  response 输出 ; 给你 
    web 的   
    HttpContext.Current.Response.Clear();
                HttpContext.Current.Response.BufferOutput = true;
                HttpContext.Current.Response.Charset = "GB2312";
                HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename ="+name+".xls");
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
                HttpContext.Current.Response.ContentType = "application/ms-excel";
                object[] values = new object[table.Columns.Count];
                for (int i = 0; i < table.Columns.Count; ++i)
                {
                    HttpContext.Current.Response.Write(table.Columns[i].Caption.ToString());
                    HttpContext.Current.Response.Write('\t');
                }
                HttpContext.Current.Response.Write("\n");
                for (int i = 0; i < table.Rows.Count; i++)
                {
                    for (int j = 0; j < values.Length; ++j)
                    {
                        if (table.Columns[j].ColumnName == "批号" || table.Columns[j].ColumnName.Contains("编号") || table.Columns[j].ColumnName.Contains("编码") || table.Columns[j].ColumnName.Contains("单号"))
                        {
                            HttpContext.Current.Response.Write(table.Rows[i][j].ToString().Replace("\r\n", "").Replace("\t", "") + ((char)127).ToString());
                        }
                        else
                        {
                            HttpContext.Current.Response.Write(table.Rows[i][j].ToString().Replace("\r\n", "").Replace("\t", ""));
                        }                    HttpContext.Current.Response.Write('\t');
                    }
                    HttpContext.Current.Response.Write("\r\n");
                }
                HttpContext.Current.Response.End();