如题,急,请给个思路

解决方案 »

  1.   

    /// <summary>
    /// 把Gridview中数据导入到Excel的类
    /// </summary>
    public class GridViewToExcel
    {
        public GridViewToExcel()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
        /**//// <summary>
        /// /// 把Gridview中数据导入到Excel中
        /// </summary>
        /// <param name="gv">需要导出数据的Gridview</param>
        /// <param name="ds">Gridview的数据源</param>
        /// <param name="strFileName">默认的导出Excel的文件名</param>
        /// <param name="bolPart">全部还是部分导出到Excel.部分:true. 全部:false</param>
        public static void ConvertToExcel(GridView gv, DataSet ds, string strFileName, bool bolPart)
        {
            gv.AllowPaging = bolPart;//设置导出数据是全部还是部分
            gv.DataSource = ds;
            gv.DataBind();        for (int i = 0; i < gv.Columns.Count; i++) //设置每个单元格
            {
                gv.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Left;
                for (int j = 0; j < gv.Rows.Count; j++)
                {
                    gv.Rows[j].Cells[i].Attributes.Add("style", "vnd.ms-excel.numberformat:@;");
                }
            }        System.IO.StringWriter sw = new System.IO.StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);        HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.Charset = "GB2312";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF7;//设置UTF8有时候出乱码        strFileName += ".xls";
            HttpContext.Current.Response.ContentType = "application/ms-excel";
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlPathEncode(strFileName));//设置默认文件名
            HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);        //预防出现控件必须放在具有 runat=server 的窗体标记内的错误
            Page page = new Page();
            HtmlForm form = new HtmlForm();
            gv.EnableViewState = false;
            page.EnableEventValidation = false;
            page.DesignerInitialize();
            page.Controls.Add(form);
            form.Controls.Add(gv);
            page.RenderControl(htw);        HttpContext.Current.Response.Write(sw.ToString());
            HttpContext.Current.Response.End();
        }
    }
      

  2.   

    没能解决问题,至少图片得下载下来,然后写入Excel中,可以怎么写呢,请指教。
      

  3.   

    问题的解决方案已放入个人博客中了,地址:http://blog.csdn.net/Rock870210/archive/2009/09/26/4598173.aspx
      

  4.   

    2楼可以把GridView中的数据导出excel.
      

  5.   

    思路:
    将gridview中的图片导出,保存到文件系统中,可以采取System.Guid.NewGuid().ToString().Substring()生成文件名
    然后用worksheet.Shapes.AddPicture加入Excel中