using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using System.Text;

public partial class ckgl_ck_ckqd : System.Web.UI.Page
{
    private static BLLV_Order bllv_order = new BLLV_Order();
    private static BLLOutbound bll_outbound = new BLLOutbound();
    private static BLLOrderDetial bll_orderdetial = new BLLOrderDetial();
    private static BLLV_OutboundDetial bllv_outbounddetial = new BLLV_OutboundDetial();
    private static BLLV_OutboundDetial_Count_Ext bll_outbounddetial_ext = new BLLV_OutboundDetial_Count_Ext();
    protected static BLLStorage bllstorage = new BLLStorage();
    protected BLLSpace bllspace = new BLLSpace();
    List<StorageModel> storagemodellist = bllstorage.SelectAll();
    private static BLLOrder bllorder = new BLLOrder();
    private static int PageSize = 10000;
    private static string Order_IDs = "";
    private static string Outbound_ID = "";
    private static V_OutboundDetialModel v_obdm = new V_OutboundDetialModel();
    private static BLLOperLog blloperlog = new BLLOperLog();

//导出Excel文件
    protected void btn_Export_Click(object sender, EventArgs e)
    {
        Dictionary<string, string> dicspace = new Dictionary<string, string>();
        foreach (var item in storagemodellist)
        {
            SpaceModel sm = new SpaceModel();
            sm.Storage_ID = item.Storage_ID;
            List<SpaceModel> spacelist = bllspace.Select(sm, "1");
            foreach (var space in spacelist)
            {
                dicspace.Add(item.Storage_ID + space.Space_ID, space.Name);
            }
        }
        try
        {
            V_OutboundDetial_Count_ExtModel outbounddetial_ext_model = new V_OutboundDetial_Count_ExtModel();
            outbounddetial_ext_model.Outbound_ID = Outbound_ID;
            outbounddetial_ext_model.OutType = "0";
            List<V_OutboundDetial_Count_ExtModel> count_ext_models = bll_outbounddetial_ext.Select(outbounddetial_ext_model, "1");
            DataTable dt = new DataTable();
            DataColumn[] dc ={
                           new DataColumn("学习资料编号"),
                           new DataColumn("教学资料名称"),
                           new DataColumn("订购类型"),
                           new DataColumn("数量"),
                           new DataColumn("单价(元)"),
                           new DataColumn("库位"),
                           new DataColumn("仓位")
                       };
            dt.Columns.AddRange(dc);
            DataRow drHead = dt.NewRow();
            drHead["学习资料编号"] = "学习资料编号";
            drHead["教学资料名称"] = "教学资料名称";
            drHead["订购类型"] = "订购类型";
            drHead["数量"] = "数量";
            drHead["单价(元)"] = "单价(元)";
            drHead["库位"] = "库位";
            drHead["仓位"] = "仓位";
            dt.Rows.Add(drHead);
            //导入内容
            foreach (var model in count_ext_models)
            {
                DataRow dr = dt.NewRow();
                dr["学习资料编号"] = model.TMID;
                dr["教学资料名称"] = model.TMName;
                dr["订购类型"] = model.OrderName;
                dr["数量"] = model.SumCount;
                dr["单价(元)"] = model.Price;
                dr["库位"] = model.StorName;
                dr["仓位"] = dicspace[model.Storage_ID + model.Space_ID];
                dt.Rows.Add(dr);
            }
            ExportByWeb(dt, "出库清单.xls");
            //ExportExcel1.FileName = "出库清单.xls";
            //ExportExcel1.ExportToExcel(dt);
        }
        catch (Exception ex)
        {
            string strmessage = @"alert('" + ex.Message + "');";
            ClientScript.RegisterStartupScript(this.GetType(), "", strmessage, true);
        }
    }
 
    public static void ExportByWeb(DataTable dtSource, string strFileName)
    {
        try
        {
            HttpContext curContext = HttpContext.Current;

// 设置编码和附件格式   
            curContext.Response.ContentType = "application/vnd.ms-excel";
            curContext.Response.ContentEncoding = Encoding.UTF8;
            curContext.Response.Charset = "";
            curContext.Response.AppendHeader("Content-Disposition",
                "attachment;filename=" + HttpUtility.UrlEncode(strFileName, Encoding.UTF8));

curContext.Response.BinaryWrite(Cau_TeachOrderLibrary.Common.RenderToExcel(dtSource).GetBuffer());
            curContext.Response.End();
        }
        catch (Exception ee)
        {
            throw new ApplicationException("导出过程出错!" + ee.Message);

}

}
}

Excel导出cs文件的更多相关文章

  1. thinkphp3.2.3 excel导出,下载文件,包含图片

    关于导出后出错的问题 https://segmentfault.com/q/1010000005330214 https://blog.csdn.net/ohmygirl/article/detail ...

  2. Excel导出插件

    前言 一个游戏通常需要10多个Excel表格或者更多来配置,一般会通过导出csv格式读取配置. 本文提供导出Excel直接生成c#文件,对应数据直接生成结构体和数组,方便开发排错和简化重复写每个表格的 ...

  3. Excel导出插件-VSTO

    前言 一个游戏通常需要10多个Excel表格或者更多来配置,一般会通过导出csv格式读取配置. 本文提供导出Excel直接生成c#文件,对应数据直接生成结构体和数组,方便开发排错和简化重复写每个表格的 ...

  4. asp.net教程:GridView导出到Excel或Word文件

    asp.net教程:GridView导出到Excel或Word文件</ br> 在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户) ...

  5. asp.net(C#) Excel导出类 导出.xls文件

    ---恢复内容开始--- using Microsoft.Office.Interop.Excel; 针对office 2003需添加引用Microsoft   Excel   11.0   Obje ...

  6. (转载)DBGridEh导出Excel等格式文件

    DBGridEh导出Excel等格式文件 uses DBGridEhImpExp; {--------------------------------------------------------- ...

  7. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  8. Laravel Excel 实现 Excel-CSV 文件导入导出功能

    Laravel Excel 是一款基于 PHPExcel 开发的Laravel框架专用的 Excel/CSV 文件导入导出功能的扩展包,用起来的非常方便. 它的 Github 地址是:https:// ...

  9. C# Aspose.Cells导出xlsx格式Excel,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

    报错信息: 最近打开下载的 Excel,会报如下错误.(xls 格式不受影响) 解决方案: 下载代码(红色为新添代码) public void download() { string fileName ...

随机推荐

  1. iOS开发:详解Objective-C runTime

    Objective-C总Runtime的那点事儿(一)消息机制 最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题.当然还有一些其他问题也几乎 ...

  2. Google Chrome源码剖析【序】

    [序(本人什么都没做,完全转载)] 开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质.它使得每个人,无论你来自米国纽约还是中国铁岭,都有机会站在巨人的肩膀 ...

  3. 《Programming WPF》翻译 第7章 4.转换

    原文:<Programming WPF>翻译 第7章 4.转换 支持高分辨率显示是WPF中的重要样式.这是被部分地支持--强调了可伸缩的向量图,而不是图像.但是,正如使用GDI+和GDI3 ...

  4. unix c 08

    信号 - signal()改变信号的处理方式.默认情况下,信号在Unix中都有自己的处理方式,如果想改变信号的处理方式,signal/sigaction 可以实现. 信号可以在关键代码处进行屏蔽,因为 ...

  5. UVa10340.All in All

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  6. win10无法使用内置管理员账户打开

    对于这种问题其实对于专业版用户倒不是难事,很容易解决,具体方法如下: 首先WIN+R输入:gpedit.msc,打开组策略,找到“计算机配置”里面的“Windows设置”,打开“安全设置” -> ...

  7. 《Java程序员面试笔试宝典》之 什么是AOP

    AOP(Aspect-Oriented Programming,面向切面编程)是对面向对象开发的一种补充,它允许开发人员在不改变原来模型的基础上动态地修改模型从而满足新的需求.例如,在不改变原来业务逻 ...

  8. easyUI的combobox设置隐藏和显示

    今天遇到一个需求,需要在combobox选择不同选项时,分别切换另一个控件为text或者combobox. 当时想了各种办法,想将combobx和text切换隐藏,但是都没得到自己想要的效果.最终还是 ...

  9. 连载:面向对象葵花宝典:思想、技巧与实践(33) - ISP原则

     ISP,Interface Segregation Principle,中文翻译为"接口隔离原则". 和DIP原则一样,ISP原则也是大名鼎鼎的Martin大师提出来的,他在19 ...

  10. js简单排序

    简单的排序功能 HTML代码: <body> <input id="btn1" type="button" value="排序&qu ...