public ActionResult IndexOld()
        {
            string cacheKey = WebCaching.UserId + "_" + ExcelHelper.EXPORT_EXCEL_CONTEXT;
            string strHtml  = "";
            string fileName = "";
            var    obj      = CacheHelper.Instance.Get(cacheKey);

            if (obj != null)
            {
                if (obj is List <ExcelConvertHelper.ExcelContext> )
                {
                    List <ExcelConvertHelper.ExcelContext> excelContexts = obj as List <ExcelConvertHelper.ExcelContext>;
                    ExcelHelper.Export(excelContexts, ref strHtml);
                    fileName = excelContexts[0].FileName;
                }
                else
                {
                    ExcelConvertHelper.ExcelContext excelContext = obj as ExcelConvertHelper.ExcelContext;
                    ExcelHelper.Export(excelContext, ref strHtml);
                    fileName = excelContext.FileName;
                }
                CacheHelper.Instance.Remove(cacheKey);
            }
            if (!string.IsNullOrEmpty(strHtml))
            {
                Response.Clear();
                Response.BufferOutput    = false;
                Response.ContentEncoding = System.Text.Encoding.UTF8;
                Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
                Response.ContentType = "application/ms-excel";
                Response.Write(strHtml);
                Response.Close();
            }
            return(View());
        }
        public ActionResult Export(LigerGrid grid, FormCollection data)
        {
            string strError = "";

            grid.ConvertParams(data);
            eContract.Common.ExcelConvertHelper.ExcelContext context = new ExcelConvertHelper.ExcelContext();
            if (SystemService.FunctionRoleService.ExportExcel(grid, ref context, ref strError))
            {
                return(Json(AjaxResult.Success()));
            }
            return(Json(AjaxResult.Error(strError)));
        }
        public ActionResult Index()
        {
            string cacheKey       = WebCaching.UserId + "_" + ExcelHelper.EXPORT_EXCEL_CONTEXT;
            string strHtml        = "";
            string fileName       = "";
            string exportFilePath = Server.MapPath("~/DownLoad/ExportFiles/");

            if (!Directory.Exists(exportFilePath))
            {
                Directory.CreateDirectory(exportFilePath);
            }
            string exportFile = exportFilePath + WebCaching.UserAccount + "_Export_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
            var    obj        = CacheHelper.Instance.Get(cacheKey);

            if (obj != null)
            {
                if (obj is List <ExcelConvertHelper.ExcelContext> )
                {
                    List <ExcelConvertHelper.ExcelContext> excelContexts = obj as List <ExcelConvertHelper.ExcelContext>;
                    ExcelHelper helper = new ExcelHelper();
                    helper.ExportExcel(excelContexts, exportFile);
                    fileName = excelContexts[0].FileName;
                }
                else
                {
                    ExcelConvertHelper.ExcelContext excelContext = obj as ExcelConvertHelper.ExcelContext;
                    ExcelHelper helper = new ExcelHelper();
                    helper.ExportExcel(excelContext, exportFile);
                    fileName = excelContext.FileName;
                }
                CacheHelper.Instance.Remove(cacheKey);
            }
            if (System.IO.File.Exists(exportFile))
            {
                byte[] fileContent = System.IO.File.ReadAllBytes(exportFile);
                System.IO.File.Delete(exportFile);
                Response.Clear();
                Response.ClearHeaders();
                Response.Buffer = false;
                Response.AppendHeader("Content-Type", "application/x-msdownload");
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
                Response.ContentType = "application/octet-stream";
                Response.BinaryWrite(fileContent);
                Response.Flush();
                Response.End();
            }
            return(View());
        }
Esempio n. 4
0
        public virtual bool ExportExcel(LigerGrid grid, ref ExcelConvertHelper.ExcelContext context, ref string Error)
        {
            QueryUser query = new QueryUser();

            query.ligerGrid = grid;
            eContract.Common.ExcelConvertHelper.ColumnList columns = new eContract.Common.ExcelConvertHelper.ColumnList();
            columns.Add(CasUserTable.C_USER_ACCOUNT, "登录名");
            columns.Add(CasUserTable.C_ENGLISH_NAME, "姓名");
            context          = new ExcelConvertHelper.ExcelContext();
            context.FileName = "UserList" + ".xls";
            context.Title    = "用户列表";
            //context.Data = DataAccess.QueryDataSet(query);
            WhereBuilder where = query.ParseSQL();
            context.Data       = DataAccess.Select(where.SQLString, where.Parameters).Tables[0];
            if (columns != null)
            {
                context.Columns.Add(columns);
            }
            CacheHelper.Instance.Set(WebCaching.UserId + "_" + ExcelHelper.EXPORT_EXCEL_CONTEXT, context);
            return(true);
        }
        public virtual bool ExportExcel(LigerGrid grid, ref ExcelConvertHelper.ExcelContext context, ref string Error)
        {
            SecRoleQuery query = new SecRoleQuery();

            query.ligerGrid = grid;
            eContract.Common.ExcelConvertHelper.ColumnList columns = new eContract.Common.ExcelConvertHelper.ColumnList();
            columns.Add(SecRoleTable.C_ROLE_ID, "角色编号");
            columns.Add("role_type_name", "角色类型");
            columns.Add(SecRoleTable.C_ROLE_NAME, "角色名称");
            columns.Add(SecRoleTable.C_REMARK, "角色描述");
            context            = new ExcelConvertHelper.ExcelContext();
            context.FileName   = "RoleList" + ".xls";
            context.Title      = "角色列表";
            WhereBuilder where = query.ParseSQL();
            context.Data       = DataAccess.Select(where.SQLString, where.Parameters).Tables[0];
            if (columns != null)
            {
                context.Columns.Add(columns);
            }
            CacheHelper.Instance.Set(WebCaching.UserId + "_" + ExcelHelper.EXPORT_EXCEL_CONTEXT, context);
            return(true);
        }