Esempio n. 1
0
        /// <summary>
        /// 根据查询条件查询报表数据
        /// </summary>
        /// <param name="model">参数</param>
        /// <returns>返回结果集</returns>
        public ActionResult QueryMaterialConsume(LotMaterialList1ViewModel model)
        {
            string strErrorMessage = string.Empty;
            MethodReturnResult <DataSet> result = new MethodReturnResult <DataSet>();

            try
            {
                using (LotMaterialListServiceClient client = new LotMaterialListServiceClient())
                {
                    RPTDailyDataGetParameter param = new RPTDailyDataGetParameter();
                    param.StartDate    = model.StartTime.ToString();
                    param.EndDate      = model.EndTime.ToString();
                    param.LocationName = model.LocationName;
                    param.LineCode     = model.LineCode;
                    param.OrderNumber  = model.OrderNumber;

                    MethodReturnResult <DataSet> ds = client.GetMaterialConsume(param);
                    ViewBag.HistoryList = ds;

                    if (ds.Code > 0)       //产生错误
                    {
                        result.Code    = ds.Code;
                        result.Message = ds.Message;
                        result.Detail  = ds.Detail;

                        return(Json(result));
                    }
                }
            }
            catch (Exception ex)
            {
                result.Code    = 1000;
                result.Message = ex.Message;
                result.Detail  = ex.ToString();
            }

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_MaterialConsumeListPartial", model));
            }
            else
            {
                return(View("IndexMaterialConsume", model));
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 导出到excel
        /// </summary>
        /// <param name="model">参数</param>
        /// <returns>导出数据到excel</returns>
        public ActionResult ExportToExcelMaterialConsume(LotMaterialListViewModel model)
        {
            DataTable dt = new DataTable();
            MethodReturnResult <DataSet> result = new MethodReturnResult <DataSet>();

            using (LotMaterialListServiceClient client = new LotMaterialListServiceClient())
            {
                RPTDailyDataGetParameter param = new RPTDailyDataGetParameter();
                param.StartDate    = model.StartTime.ToString();
                param.EndDate      = model.EndTime.ToString();
                param.LocationName = model.LocationName;
                param.LineCode     = model.LineCode;
                param.OrderNumber  = model.OrderNumber;

                MethodReturnResult <DataSet> ds = client.GetMaterialConsume(param);
                dt = ds.Data.Tables[0];
            }
            //创建工作薄。
            IWorkbook wb = new HSSFWorkbook();
            //设置EXCEL格式
            ICellStyle style = wb.CreateCellStyle();

            style.FillForegroundColor = 10;
            //有边框
            style.BorderBottom = BorderStyle.Thin;
            style.BorderLeft   = BorderStyle.Thin;
            style.BorderRight  = BorderStyle.Thin;
            style.BorderTop    = BorderStyle.Thin;
            IFont font = wb.CreateFont();

            font.Boldweight = 10;
            style.SetFont(font);

            ISheet ws = null;

            for (int j = 0; j < dt.Rows.Count; j++)
            {
                if (j % 65535 == 0)
                {
                    ws = wb.CreateSheet();
                    IRow  row  = ws.CreateRow(0);
                    ICell cell = null;
                    #region //列名
                    foreach (DataColumn dc in dt.Columns)
                    {
                        cell           = row.CreateCell(row.Cells.Count);
                        cell.CellStyle = style;
                        cell.SetCellValue(dc.Caption);
                    }
                    #endregion
                    font.Boldweight = 5;
                }
                IRow rowData = ws.CreateRow(j + 1);
                #region //数据
                ICell cellData = null;
                foreach (DataColumn dc in dt.Columns)
                {
                    cellData           = rowData.CreateCell(rowData.Cells.Count);
                    cellData.CellStyle = style;

                    if (dc.DataType == typeof(double) || dc.DataType == typeof(float))
                    {
                        cellData.SetCellValue(Convert.ToDouble(dt.Rows[j][dc]));
                    }
                    else if (dc.DataType == typeof(int))
                    {
                        cellData.SetCellValue(Convert.ToInt32(dt.Rows[j][dc]));
                    }
                    else
                    {
                        cellData.SetCellValue(Convert.ToString(dt.Rows[j][dc]));
                    }
                }
                #endregion
            }

            MemoryStream ms = new MemoryStream();
            wb.Write(ms);
            ms.Flush();
            ms.Position = 0;
            return(File(ms, "application/vnd.ms-excel", "LotMaterialData.xls"));
        }