博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
导出excel表功能
阅读量:5131 次
发布时间:2019-06-13

本文共 4941 字,大约阅读时间需要 16 分钟。

前台: 
。cs:
protected void btndao_Click(object sender, EventArgs e)    {        this.ExportExcel();    }    ///     /// 导出数据到Ecxc    ///     private void ExportExcel()    {        using (aosmithnewEntities db = new aosmithnewEntities())        {            List
 formlist = db.ReservationForm.OrderBy(o => o.States).ThenByDescending(o => o.AddTime).ToList();            string SavaFilesPath = globalVariables.Download + Guid.NewGuid() + ".xls";            if (formlist == null || formlist.Count == 0)            {                throw new Exception("没有数据可导出。");            }            //建立一个Excel进程 Application            Application excelApplication = new Application();             //默认值为 True。如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,请将本属性设置为 False;这样每次出现需用户应答的消息时,Microsoft Excel            // 将选择默认应答。            //如果将该属性设置为 False,则在代码运行结束后,Micorosoft Excel 将该属性设置为 True,除非正运行交叉处理代码。            //如果使用工作簿的 SaveAs 方法覆盖现有文件,“覆盖”警告默认为“No”,当 DisplayAlerts 属性值设置为 True 时,Excel 选择“Yes”。            excelApplication.DisplayAlerts = false;             //  建立或打开一个 Workbook对象生成新Workbook            Workbook workbook = excelApplication.Workbooks.Add(Missing.Value);            int i = 2;            Worksheet lastWorksheet = (Worksheet)workbook.Worksheets.get_Item(workbook.Worksheets.Count);            Worksheet newSheet = (Worksheet)workbook.Worksheets.Add(Type.Missing, lastWorksheet, Type.Missing, Type.Missing);            newSheet.Cells[1, 1] = "产品类型";            newSheet.Cells[1, 2] = "型号";            newSheet.Cells[1, 3] = "安装/维保";            newSheet.Cells[1, 4] = "问题描述";            newSheet.Cells[1, 5] = "手机";            newSheet.Cells[1, 6] = "其他联系方式";            newSheet.Cells[1, 7] = "联系人姓名";            newSheet.Cells[1, 8] = "省份";            newSheet.Cells[1, 9] = "城市";            newSheet.Cells[1, 10] = "城(区)县";            newSheet.Cells[1, 11] = "详细地址";            newSheet.Cells[1, 12] = "上门时间";            newSheet.Cells[1, 13] = "其他要求";            newSheet.Cells[1, 14] = "表单状态";            ((Range)newSheet.Rows.get_Item(1)).Font.Bold = true;            foreach (var dt in formlist)            {                //DateTime dtime = DateTime.Now;                newSheet.Cells[i, 1] = dt.ProductCategoryName;                newSheet.Cells[i, 2] = dt.Model;                newSheet.Cells[i, 3] = dt.FormName;                newSheet.Cells[i, 4] = dt.Description;                newSheet.Cells[i, 5] = dt.Mobile;                newSheet.Cells[i, 6] = dt.TelPhone;                newSheet.Cells[i, 7] = dt.ContactsName;                newSheet.Cells[i, 8] = dt.ProvinceName;                newSheet.Cells[i, 9] = dt.CityName;                newSheet.Cells[i, 10] = dt.DistrictName;                newSheet.Cells[i, 11] = dt.Address;                newSheet.Cells[i, 12] = dt.ServicesTime;                newSheet.Cells[i, 13] = dt.Other;                if (int.Parse(dt.States.ToString()) != 0)                {                    newSheet.Cells[i, 14] = "已处理";                 }                else                 {                    newSheet.Cells[i, 14] = "未处理";                }                i++;            }            newSheet.Cells.Columns.AutoFit();            //删除原来的空Sheet            ((Worksheet)workbook.Worksheets.get_Item(1)).Delete();            ((Worksheet)workbook.Worksheets.get_Item(1)).Delete();            ((Worksheet)workbook.Worksheets.get_Item(1)).Delete();            //设置默认选中是第一个Sheet 类似于Select();            ((Worksheet)workbook.Worksheets.get_Item(1)).Activate();            try            {                workbook.Close(true, SavaFilesPath, Missing.Value);            }            catch (Exception e)            {                throw e;            }            UploadExcel(SavaFilesPath, true);            excelApplication.Quit();        }    }    /// 
    /// 提供下载    ///     /// 
    /// 
    ///  
    private static void UploadExcel(string path, bool isDelete)    {        FileInfo file = new FileInfo(path);        HttpContext.Current.Response.Clear();        HttpContext.Current.Response.Charset = "GB2312";        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;        // 添加头信息,为"文件下载/另存为"对话框指定默认文件名        HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(file.Name));        // 添加头信息,指定文件大小,让浏览器能够显示下载进度        HttpContext.Current.Response.AddHeader("Content-Length", file.Length.ToString());        // 指定返回的是一个不能被客户端读取的流,必须被下载        HttpContext.Current.Response.ContentType = "application/ms-excel";        // 把文件流发送到客户端        HttpContext.Current.Response.WriteFile(file.FullName);        HttpContext.Current.Response.Flush();        if (isDelete)        {            File.Delete(path);        }        // 停止页面的执行        HttpContext.Current.Response.End();     }
 

转载于:https://www.cnblogs.com/ft-Pavilion/p/4552063.html

你可能感兴趣的文章
ad logon hour
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
距离公式汇总以及Python实现
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
VC6.0调试技巧(一)(转)
查看>>
php match_model的简单使用
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
STM32单片机使用注意事项
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>