/// <summary> /// 保存装箱清单Excel文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void btnHoodPackingList_Click(object sender, EventArgs e) { if (execList.Count == 0) { return; } btnHoodPackingList.Enabled = false; tspbStatus.Value = 0; tspbStatus.Step = 1; tspbStatus.Maximum = execList.Count; List <JobCard> jobCardList = new List <JobCard>(); foreach (var item in execList) { tsslStatus.Text = item.Item + "(" + item.Module + ")正在导出数据..."; JobCard objJobCard = new JobCardService().GetJobCard(item); //核对信息 if (objJobCard.Length == 0) { MessageBox.Show("编号" + objJobCard.Item + "中" + objJobCard.Module + "烟罩数据没有填写,请认真检查", "信息核对"); return; } jobCardList.Add(objJobCard); tspbStatus.Value += 1; } tsslStatus.Text = "正在将数据写入excel文件..."; await ExportHoodPackingListAsync(jobCardList); tsslStatus.Text = "装箱清单导出完成,请在项目文件夹中查看!"; tspbStatus.Value = execList.Count; btnHoodPackingList.Enabled = true; }
public JobCardController(JobCardService jobCardService) { _jobCardService = jobCardService; }
/// <summary> /// 标准烟罩打印JobCard /// </summary> /// <param name="tree"></param> public void ExecPrintHoodJobCard(ModuleTree tree) { JobCard objJobCard = new JobCardService().GetJobCard(tree); //核对信息 if (objJobCard.Length == 0) { MessageBox.Show("编号" + objJobCard.Item + "中" + objJobCard.Module + "烟罩数据没有填写,请认真检查", "信息核对"); return; } if (objJobCard.LabelImage.Length == 0) { MessageBox.Show("编号" + objJobCard.Item + "中" + objJobCard.Module + "JobCard标签截图没有上传,请回到模型树中双击Item上传截图,请认真检查", "信息核对"); return; } Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); string excelBookPath = Environment.CurrentDirectory + "\\JobCard.xlsx"; excelApp.Workbooks.Add(excelBookPath); Microsoft.Office.Interop.Excel.Worksheet workSheet = excelApp.Worksheets[1]; //插入Item图片 if (objJobCard.LabelImage.Length != 0) { Image image = (Image) new Common.SerializeObjectToString().DeserializeObject(objJobCard.LabelImage); string imagePath = Environment.CurrentDirectory + "\\LabelImage.jpg"; if (File.Exists(imagePath)) { File.Delete(imagePath); //删除图片 } else { //保存图片到系统目录中 image.Save(imagePath); //将图片插入excel workSheet.Shapes.AddPicture(imagePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, 5, 157, 580, 225); //左,上,宽度,高度 workSheet.Shapes.AddPicture(imagePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, 5, 545, 580, 225); //左,上,宽度,高度 //使用完毕后删除保存的图片 File.Delete(imagePath); } } //通用信息 workSheet.Cells[48, 3] = objJobCard.ODPNo; workSheet.Cells[49, 3] = objJobCard.BPONo; workSheet.Cells[50, 3] = objJobCard.ProjectName; workSheet.Cells[51, 3] = objJobCard.CustomerName; workSheet.Cells[58, 7] = objJobCard.ShippingTime.ToShortDateString(); //标准烟罩 if (objJobCard.HoodType == "Hood") { workSheet.Cells[52, 3] = objJobCard.Item + "(" + objJobCard.Module + ")"; workSheet.Cells[53, 3] = objJobCard.Model; workSheet.Cells[65, 4] = objJobCard.Module; //长度 if (objJobCard.Model == "KVI" || objJobCard.Model == "KVF" || objJobCard.Model == "UVI" || objJobCard.Model == "UVF" || objJobCard.Model == "KWI" || objJobCard.Model == "KWF" || objJobCard.Model == "UWI" || objJobCard.Model == "UWF" || objJobCard.Model == "CMOD" || objJobCard.Model == "KVIM" || objJobCard.Model == "UVIM") { if (objJobCard.Length != 0 && objJobCard.SidePanel == "BOTH") { workSheet.Cells[65, 5] = objJobCard.Length + 100; } else if (objJobCard.SidePanel == "MIDDLE") { workSheet.Cells[65, 5] = objJobCard.Length; } else { workSheet.Cells[65, 5] = objJobCard.Length + 50; } } else { workSheet.Cells[65, 5] = objJobCard.Length; } workSheet.Cells[65, 6] = objJobCard.Deepth; workSheet.Cells[65, 7] = objJobCard.Height; workSheet.Cells[65, 8] = objJobCard.SidePanel; } //天花烟罩 else if (objJobCard.HoodType == "Ceiling") { workSheet.Cells[52, 3] = objJobCard.Item; workSheet.Cells[53, 3] = objJobCard.Model; workSheet.Cells[65, 4] = ""; workSheet.Cells[65, 5] = ""; workSheet.Cells[65, 6] = ""; workSheet.Cells[65, 7] = ""; workSheet.Cells[65, 8] = ""; } //UL烟罩 else { } //特殊要求 List <string> srList = new RequirementService().GetSpecialRequirementList(objJobCard.ODPNo); for (int i = 0; i < srList.Count; i++) { if (i > 6) { continue; } workSheet.Cells[68 + i * 2, 3] = srList[i]; } //预览 //excelApp.Visible = true; //excelApp.Sheets.PrintPreview(true); //打印 workSheet.PrintOutEx(); KillProcess(excelApp); excelApp = null; //对象置空 GC.Collect(); //垃圾回收机制 }