|  |  | 
 |  |  | using System.Net.Http; | 
 |  |  | using System.Web.Http; | 
 |  |  | using WebAPI.Models; | 
 |  |  | using NPOI; | 
 |  |  | using NPOI.OOXML; | 
 |  |  | using NPOI.OpenXml4Net; | 
 |  |  | using System.IO; | 
 |  |  | using NPOI.HSSF.UserModel; | 
 |  |  | using NPOI.SS.UserModel; | 
 |  |  | using Newtonsoft.Json; | 
 |  |  | using Newtonsoft.Json.Converters; | 
 |  |  |  | 
 |  |  | namespace WebAPI.Controllers.SCGL | 
 |  |  | { | 
 |  |  | 
 |  |  |  | 
 |  |  |         [Route("Sc_PackUnionBill/Get_PackUnionBillList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetMateOutBillList(string sWhere) | 
 |  |  |         public object GetMateOutBillList(int page, int limit, string sWhere) | 
 |  |  |         { | 
 |  |  |             List<object> columnNameList = new List<object>(); | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCn.RunProcReturn("select * from h_v_PackUnionBillList order by 日期 desc", "h_v_PackUnionBillList"); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "返回记录成功!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |                 int count = 0; | 
 |  |  |                 int pageNum = page; | 
 |  |  |                 int pageSize = limit; | 
 |  |  |                 if (sWhere == null || sWhere.Equals("")) | 
 |  |  |                 { | 
 |  |  |                     sWhere = " where 1=1"; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     sWhere = " where 1=1" + sWhere; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 count = new SQLHelper.ClsCN().RunProcReturn("select hmainid,日期,单据号,箱号条形码,净重,毛重,皮重,生产组织,部门,操作员,客户标签号,物料代码,物料名称,计量单位代码,计量单位名称,数量,制单人,制单日期 from h_v_PackUnionBillList " + sWhere, "h_v_PackUnionBillList").Tables[0].Rows.Count; | 
 |  |  |                 string sql = string.Format(@"select top " + pageSize + " hmainid,日期,单据号,箱号条形码,净重,毛重,皮重,生产组织,部门,操作员,客户标签号,物料代码,物料名称,计量单位代码,计量单位名称,数量,制单人,制单日期 from(select row_number() over (order by hmainid desc) as RowNumber,hmainid,日期,单据号,箱号条形码,净重,毛重,皮重,生产组织,部门,操作员,客户标签号,物料代码,物料名称,计量单位代码,计量单位名称,数量,制单人,制单日期 from h_v_PackUnionBillList " + sWhere + ")   as A where RowNumber >" + pageSize + " *(" + pageNum + "-1)"); | 
 |  |  |                 ds = new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_PackUnionBillList"); | 
 |  |  |                 string aa = ds.Tables[0].Columns[0].ToString(); | 
 |  |  |  | 
 |  |  |                 foreach (DataColumn col in ds.Tables[0].Columns) | 
 |  |  |                 { | 
 |  |  |  | 
 |  |  |                     Type dataType = col.DataType; | 
 |  |  |                     string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; | 
 |  |  |                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = count; | 
 |  |  |                     objJsonResult.Message = "返回记录成功!"; | 
 |  |  |                     objJsonResult.data = JsonConvert.DeserializeObject<DataTable>(JsonConvert.SerializeObject(ds.Tables[0], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" }));  //序列化DataSet中的时间格式,然后再反序列化回来 | 
 |  |  |                     objJsonResult.list = columnNameList; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "暂无记录!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     objJsonResult.list = columnNameList; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             catch (Exception ex) | 
 |  |  |             { | 
 |  |  | 
 |  |  |         [HttpGet] | 
 |  |  |         public object set_DeleteBill(string HInterID, string user) | 
 |  |  |         { | 
 |  |  |             //编辑权限 | 
 |  |  |             if (!DBUtility.ClsPub.Security_Log_second("Sc_PackUnionBill", 1, true, user)) | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "无删除权限!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |                 //编辑权限 | 
 |  |  |                 //if (!DBUtility.ClsPub.Security_Log_second("Sc_PackUnionBill", 1, true, user)) | 
 |  |  |                 //{ | 
 |  |  |                 //    objJsonResult.code = "0"; | 
 |  |  |                 //    objJsonResult.count = 0; | 
 |  |  |                 //    objJsonResult.Message = "无删除权限!"; | 
 |  |  |                 //    objJsonResult.data = null; | 
 |  |  |                 //    return objJsonResult; | 
 |  |  |                 //} | 
 |  |  |  | 
 |  |  |             string s = ""; | 
 |  |  |             Int64 lngBillKey = 0; | 
 |  |  |             lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
 |  |  |             if (lngBillKey == 0) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "单据ID为空!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             DAL.ClsSc_PackUnionBill oBill = new DAL.ClsSc_PackUnionBill(); | 
 |  |  |             if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
 |  |  |             { | 
 |  |  |                 if (oBill.omodel.HBillStatus > 1) | 
 |  |  |                 string s = ""; | 
 |  |  |                 Int64 lngBillKey = 0; | 
 |  |  |                 lngBillKey = DBUtility.ClsPub.isLong(HInterID); | 
 |  |  |                 if (lngBillKey == 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据当前处于不能删除状态,不能删除!"; | 
 |  |  |                     objJsonResult.Message = "单据ID为空!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 if (oBill.omodel.HChecker != "" && oBill.omodel.HChecker != null) | 
 |  |  |                 DAL.ClsSc_PackUnionBill oBill = new DAL.ClsSc_PackUnionBill(); | 
 |  |  |                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据已经审核,不能删除!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 if (!DBUtility.Xt_BaseBillFun.Fun_AllowDeleteBill(oBill, ref s)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = s + ",不允许删除"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 ds = oCn.RunProcReturn("Select * from Sc_PackUnionBillMain where HinterID='" + lngBillKey, "Sc_PackUnionBillMain"); | 
 |  |  |                 var HBarCode_Pack = ds.Tables[0].Rows[0]["HBarCode_Pack"].ToString(); | 
 |  |  |                 if (ds.Tables.Count < 1) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "不存在箱码"; | 
 |  |  |                     if (oBill.omodel.HBillStatus > 1) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据当前处于不能删除状态,不能删除!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (oBill.omodel.HChecker != "" && oBill.omodel.HChecker != null) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据已经审核,不能删除!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (!DBUtility.Xt_BaseBillFun.Fun_AllowDeleteBill(oBill, ref s)) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = s + ",不允许删除"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     ds = oCn.RunProcReturn("Select * from Sc_PackUnionBillMain where HinterID=" + lngBillKey, "Sc_PackUnionBillMain"); | 
 |  |  |                     var HBarCode_Pack = ds.Tables[0].Rows[0]["HBarCode_Pack"].ToString(); | 
 |  |  |                     if (ds.Tables.Count < 1) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "不存在箱码"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         //判断是否入库  | 
 |  |  |                         ds = oCn.RunProcReturn("select * from Sc_ScanLineInStock where HBarCode_Pack='" + HBarCode_Pack + "'", "Sc_ScanLineInStock"); | 
 |  |  |                         if (ds != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "-1"; | 
 |  |  |                             objJsonResult.Message = "该箱条码已入库不允许取消!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         ds = oCn.RunProcReturn("Select 1 from Gy_BarCodeBill where HBarCode='" + HBarCode_Pack + "'", "Gy_BarCodeBill"); | 
 |  |  |                         if (ds == null && ds.Tables[0].Rows.Count == 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "-1"; | 
 |  |  |                             objJsonResult.Message = "无效箱条码!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         ds = oCn.RunProcReturn("Select 1 from Gy_BarCodeBill where HBarCode='" + HBarCode_Pack + "' and HStopflag='1'", "Gy_BarCodeBill"); | 
 |  |  |                         if (ds != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "-1"; | 
 |  |  |                             objJsonResult.Message = "此箱条码已作废!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     oCn.BeginTran(); | 
 |  |  |                     oCn.RunProc("Update  Gy_BarCodeBill set HStopflag='1'  where HBarCode='" + HBarCode_Pack + "'"); | 
 |  |  |                     oCn.RunProc("Delete From Sc_PackUnionBillSub_Sum  where HBarCode_Pack='" + HBarCode_Pack + "'"); | 
 |  |  |                     oCn.RunProc("Delete From Sc_PackUnionBillSub  where HInterID='" + lngBillKey + "'"); | 
 |  |  |                     oCn.RunProc("Delete From Sc_PackUnionBillMain  where HInterID='" + lngBillKey + "'"); | 
 |  |  |                     oCn.Commit(); | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.Message = "删除成功"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     //判断是否入库  | 
 |  |  |                     ds = oCn.RunProcReturn("select * from Sc_ScanLineInStock where HBarCode_Pack='" + HBarCode_Pack + "'", "Sc_ScanLineInStock"); | 
 |  |  |                     if (ds != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "-1"; | 
 |  |  |                         objJsonResult.Message = "该箱条码已入库不允许取消!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     ds = oCn.RunProcReturn("Select 1 from Gy_BarCodeBill where HBarCode='" + HBarCode_Pack + "'", "Gy_BarCodeBill"); | 
 |  |  |                     if (ds == null && ds.Tables[0].Rows.Count == 0) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "-1"; | 
 |  |  |                         objJsonResult.Message = "无效箱条码!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     ds = oCn.RunProcReturn("Select 1 from Gy_BarCodeBill where HBarCode='" + HBarCode_Pack + "' and HStopflag='1'", "Gy_BarCodeBill"); | 
 |  |  |                     if (ds != null && ds.Tables[0].Rows.Count > 0) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "-1"; | 
 |  |  |                         objJsonResult.Message = "此箱条码已作废!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = "单据未找到"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCn.BeginTran(); | 
 |  |  |                 oCn.RunProc("Update  Gy_BarCodeBill set HStopflag='1'  where HBarCode='" + HBarCode_Pack + "'"); | 
 |  |  |                 oCn.RunProc("Delete From Sc_PackUnionBillSub_Sum  where HBarCode_Pack='" + HBarCode_Pack + "'"); | 
 |  |  |                 oCn.RunProc("Delete From Sc_PackUnionBillSub  where HInterID='" + lngBillKey + "'"); | 
 |  |  |                 oCn.RunProc("Delete From Sc_PackUnionBillMain  where HInterID='" + lngBillKey + "'"); | 
 |  |  |                 oCn.Commit(); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "删除成功"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             else | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCn.RollBack(); | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "单据未找到"; | 
 |  |  |                 objJsonResult.Message = e.Message; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  | 
 |  |  |             return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet }; | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 标准工时单列表 | 
 |  |  |  | 
 |  |  |         [Route("Sc_PackUnionBill/GetSc_StationInBillList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object GetSc_StationInBillList(string sWhere) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCn.RunProcReturn("select * from h_v_Sc_StationInBillListMain order by hmainid desc", "h_v_Sc_StationInBillListMain"); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "返回记录成功!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception ex) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "没有返回任何记录!" + ex.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 标准工时导出Excel表格数据 | 
 |  |  |  | 
 |  |  |         [Route("Sc_PackUnionBill/Sc_StationInBillSetExcel")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object Sc_StationInBillSetExcel() | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 ds = oCn.RunProcReturn("select * from h_v_Sc_StationInBillListMain order by hmainid desc", "h_v_Sc_StationInBillListMain"); | 
 |  |  |                 IWorkbook book = new HSSFWorkbook(); | 
 |  |  |                 ISheet sheet = book.CreateSheet("sheet1"); | 
 |  |  |                 IRow row1 = sheet.CreateRow(0); | 
 |  |  |                 row1.CreateCell(0).SetCellValue("进站生产订单号"); | 
 |  |  |                 row1.CreateCell(1).SetCellValue("流转卡号"); | 
 |  |  |                 row1.CreateCell(2).SetCellValue("进出站所用时间"); | 
 |  |  |                 row1.CreateCell(3).SetCellValue("工时"); | 
 |  |  |                 row1.CreateCell(4).SetCellValue("不良数量"); | 
 |  |  |                 row1.CreateCell(5).SetCellValue("报废数量"); | 
 |  |  |                 row1.CreateCell(6).SetCellValue("进站数量"); | 
 |  |  |                 row1.CreateCell(7).SetCellValue("出站数量"); | 
 |  |  |                 row1.CreateCell(8).SetCellValue("出站时间"); | 
 |  |  |                 row1.CreateCell(9).SetCellValue("进站时间"); | 
 |  |  |                 row1.CreateCell(10).SetCellValue("制单人"); | 
 |  |  |                 row1.CreateCell(11).SetCellValue("制单日期"); | 
 |  |  |                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++) | 
 |  |  |                 { | 
 |  |  |                     IRow row = sheet.CreateRow(i + 1); | 
 |  |  |                     row.CreateCell(0).SetCellValue(ds.Tables[0].Rows[i]["进站生产订单号"].ToString()); | 
 |  |  |                     row.CreateCell(1).SetCellValue(ds.Tables[0].Rows[i]["流转卡号"].ToString()); | 
 |  |  |                     row.CreateCell(2).SetCellValue(ds.Tables[0].Rows[i]["进出站所用时间"].ToString()); | 
 |  |  |                     row.CreateCell(3).SetCellValue(ds.Tables[0].Rows[i]["工时"].ToString()); | 
 |  |  |                     row.CreateCell(4).SetCellValue(ds.Tables[0].Rows[i]["不良数量"].ToString()); | 
 |  |  |                     row.CreateCell(5).SetCellValue(ds.Tables[0].Rows[i]["报废数量"].ToString()); | 
 |  |  |                     row.CreateCell(6).SetCellValue(ds.Tables[0].Rows[i]["进站数量"].ToString()); | 
 |  |  |                     row.CreateCell(7).SetCellValue(ds.Tables[0].Rows[i]["出站数量"].ToString()); | 
 |  |  |                     row.CreateCell(8).SetCellValue(ds.Tables[0].Rows[i]["出站时间"].ToString()); | 
 |  |  |                     row.CreateCell(9).SetCellValue(ds.Tables[0].Rows[i]["进站时间"].ToString()); | 
 |  |  |                     row.CreateCell(10).SetCellValue(ds.Tables[0].Rows[i]["制单人"].ToString()); | 
 |  |  |                     row.CreateCell(11).SetCellValue(ds.Tables[0].Rows[i]["制单日期"].ToString()); | 
 |  |  |                 } | 
 |  |  |                 string filename = "C:/Users/Administrator/Desktop/标准工时表" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff") + ".xls"; | 
 |  |  |                 MemoryStream BookStream = new MemoryStream(); | 
 |  |  |                 book.Write(BookStream); | 
 |  |  |                 BookStream.Seek(0,SeekOrigin.Begin); | 
 |  |  |                 byte[] buffer = BookStream.ToArray(); | 
 |  |  |                 using (FileStream fs = new FileStream(filename, FileMode.CreateNew, FileAccess.Write)) | 
 |  |  |                 { | 
 |  |  |                     try | 
 |  |  |                     { | 
 |  |  |                         fs.Write(buffer, 0, buffer.Length); | 
 |  |  |                         fs.Flush(); | 
 |  |  |                     } | 
 |  |  |                     catch | 
 |  |  |                     { | 
 |  |  |  | 
 |  |  |                     } | 
 |  |  |                     finally | 
 |  |  |                     { | 
 |  |  |                         fs.Dispose(); | 
 |  |  |                         BookStream.Dispose(); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = "成功导出表格至桌面"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception ex) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.Message = "导出失败" + ex.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |     } | 
 |  |  | } |