在服务器端生成Excel文件然后从服务器下载的本地的代码

这个方法适用所有类型文件,你可以适当修改代码就行了       

 protected void Button1_Click(object sender, EventArgs e)
        {
          object     filename = Guid.NewGuid()  ;
            //生成一个新的文件名用全球唯一标识符 (GUID)来标识
            string newpath = String.Format(@"{0}\Excel\{1}.xls", Server.MapPath("."), filename );
            //调用的模板文件
            FileInfo mode = new FileInfo(Server.MapPath("3.xls"));

            Excel.Application app = new Excel.Application();

            if (app == null)
            {
                return;
            }
            //app.Application.DisplayAlerts = false;
            //app.Visible = false;

            if (mode.Exists)
            {
                Object missing = System.Reflection.Missing.Value;
                Excel.Workbook tworkbook;

             
                //调用模板
                tworkbook = app.Workbooks.Open(mode.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                Excel._Worksheet tworksheet;
                tworksheet =(Excel._Worksheet ) tworkbook.Sheets [1];
                Excel.Range rng = tworksheet.get_Range("A1", Missing.Value);
                rng.Value2 = "Hello";
                rng.Interior.ColorIndex = 6; //设置Range的背景色

                //tworksheet.Cells[1, 2] = "测试";
                //tworksheet.Cells[2, 2] = "测试";
                //app.Visible = true;
                tworksheet.SaveAs(newpath, missing, missing, missing, missing, missing, missing, missing, missing, missing);
                tworkbook.Save();
                tworksheet = null;
                tworkbook = null;
               
                app.Quit();
                app.Quit();
                app = null;
                    if (newpath  != "")
            {

                string path = newpath ;

                System.IO.FileInfo file = new System.IO.FileInfo(path);

                if (file.Exists)
                {
                    Response.Clear();
                    Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
                    Response.AddHeader("Content-Length", file.Length.ToString());
                    Response.ContentType = "application/octet-stream";
                    Response.Filter.Close();
                    Response.WriteFile(newpath  );
                    Response.End();
                }
                else
                {
                    Response.Write("This file does not exist.");
                }
            } 
                //强制对所有代进行垃圾回收
                GC.Collect();
            }

        }

转载于:https://www.cnblogs.com/alcome/archive/2011/05/03/2035385.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值