diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs index 502cdd0..2ef43b9 100644 --- a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs +++ b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs @@ -2607,19 +2607,19 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 3, style, 0, 12, true); //设置列宽 - ws.SetColumnWidth(0, 17 * 256); - ws.SetColumnWidth(1, 12 * 256); - ws.SetColumnWidth(2, 10 * 256); - ws.SetColumnWidth(3, 17 * 256); - ws.SetColumnWidth(4, 14 * 256); - ws.SetColumnWidth(5, 12 * 256); - ws.SetColumnWidth(6, 15 * 256); - ws.SetColumnWidth(7, 12 * 256); - ws.SetColumnWidth(8, 13 * 256); - ws.SetColumnWidth(9, 12 * 256); - ws.SetColumnWidth(10, 12 * 256); - ws.SetColumnWidth(11, 12 * 256); - ws.SetColumnWidth(12, 12 * 256); + ws.SetColumnWidth(0, 14 * 256);//A + ws.SetColumnWidth(1, 8 * 256);//B + ws.SetColumnWidth(2, 8 * 256);//C + ws.SetColumnWidth(3, 9 * 256);//D + ws.SetColumnWidth(4, 9 * 256);//E + ws.SetColumnWidth(5, 8 * 256);//F + ws.SetColumnWidth(6, 13 * 256);//G + ws.SetColumnWidth(7, 9 * 256);//H + ws.SetColumnWidth(8, 13 * 256);//I + ws.SetColumnWidth(9, 9 * 256);//J + ws.SetColumnWidth(10, 9 * 256);//K + ws.SetColumnWidth(11, 9 * 256);//L + ws.SetColumnWidth(12, 10 * 256);//M ws.AddMergedRegion(new CellRangeAddress(rowIndex + 0, rowIndex + 3, 0, 1)); ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J405"); @@ -2639,7 +2639,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex).HeightInPoints = 19.8f; ws.GetRow(rowIndex + 1).HeightInPoints = 13.8f; - ws.GetRow(rowIndex + 2).HeightInPoints = 28f; + ws.GetRow(rowIndex + 2).HeightInPoints = 25f; ws.GetRow(rowIndex + 3).HeightInPoints = 28f; #endregion @@ -2647,8 +2647,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #region 表格部分 ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 5, style, 0, 12, true); - ws.GetRow(rowIndex + 4).HeightInPoints = 30f; - ws.GetRow(rowIndex + 5).HeightInPoints = 30f; + ws.GetRow(rowIndex + 4).HeightInPoints = 25f; + ws.GetRow(rowIndex + 5).HeightInPoints = 25f; //设置表头部分 ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 0, 0)); ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("管道编号/单线号\r\nPiping No./Line No"); @@ -2675,7 +2675,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("检验结果\r\nInspection Result"); //这里创建行数据 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 23, style, 0, 12, true); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 21, style, 0, 12, true); var dStart = 0; var dEnd = 0; if (num == 1) @@ -2690,9 +2690,9 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage } var pageTb = GetPageToTable(dt, dStart, dEnd); int j = 0; - for (int i = 6; i <= 23; i++) + for (int i = 6; i <= 21; i++) { - ws.GetRow(rowIndex + i).HeightInPoints = 20f; + ws.GetRow(rowIndex + i).HeightInPoints = 17f; if (pageTb.Rows.Count > j) { var dr = pageTb.Rows[j]; @@ -2706,53 +2706,56 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #region 尾部 style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, true, false); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 24, rowIndex + 30, style, 0, 12, true); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 22, rowIndex + 28, style, 0, 12, true); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 3)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 4, 8)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 9, 12)); - ws.GetRow(rowIndex + 24).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor"); - ws.GetRow(rowIndex + 24).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor"); - ws.GetRow(rowIndex + 24).GetCell(9).SetCellValue("施工单位\r\nConstruction Contractor"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 0, 3)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 4, 8)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 9, 12)); + ws.GetRow(rowIndex + 22).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor"); + ws.GetRow(rowIndex + 22).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor"); + ws.GetRow(rowIndex + 22).GetCell(9).SetCellValue("施工单位\r\nConstruction Contractor"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 1)); - ws.GetRow(rowIndex + 25).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 1)); + ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 9, 12)); + ws.GetRow(rowIndex + 23).GetCell(9).SetCellValue("记录人 :\r\nRecord Prepared by:"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 9, 12)); - ws.GetRow(rowIndex + 25).GetCell(9).SetCellValue("记录人 :\r\nRecord Prepared by:"); + ws.GetRow(rowIndex + 25).GetCell(9).SetCellValue("质量检查员:\r\nQuality Inspector:"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 27, rowIndex + 27, 9, 12)); - ws.GetRow(rowIndex + 27).GetCell(9).SetCellValue("质量检查员:\r\nQuality Inspector:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 29, rowIndex + 29, 9, 12)); - ws.GetRow(rowIndex + 27).GetCell(9).SetCellValue("焊接责任工程师:\r\nWelding Engineer:"); + ws.GetRow(rowIndex + 25).GetCell(9).SetCellValue("焊接责任工程师:\r\nWelding Engineer:"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 0, 3)); - ws.GetRow(rowIndex + 30).GetCell(0).SetCellValue("日期Date: 年 月 日"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 28, 0, 3)); + ws.GetRow(rowIndex + 28).GetCell(0).SetCellValue("日期Date: 年 月 日"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 4, 8)); - ws.GetRow(rowIndex + 30).GetCell(4).SetCellValue("日期Date: 年 月 日"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 28, 4, 8)); + ws.GetRow(rowIndex + 28).GetCell(4).SetCellValue("日期Date: 年 月 日"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 9, 12)); - ws.GetRow(rowIndex + 30).GetCell(9).SetCellValue("日期Date: 年 月 日"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 28, 9, 12)); + ws.GetRow(rowIndex + 28).GetCell(9).SetCellValue("日期Date: 年 月 日"); - RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 12), ws); - RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 0, 0), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 12, 12), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 30, rowIndex + 30, 0, 12), ws); + RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 22, rowIndex + 22, 0, 12), ws); + RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 22, rowIndex + 28, 0, 0), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 22, rowIndex + 28, 12, 12), ws); + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 28, rowIndex + 28, 0, 12), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 3, 3), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 8, 8), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 22, rowIndex + 28, 3, 3), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 22, rowIndex + 28, 8, 8), ws); - ws.GetRow(rowIndex + 25).Height = 31 * 20; - ws.GetRow(rowIndex + 26).Height = 7 * 20; - ws.GetRow(rowIndex + 28).Height = 7 * 20; - ws.GetRow(rowIndex + 29).Height = 7 * 20; + ws.GetRow(rowIndex + 22).HeightInPoints = 30f; + ws.GetRow(rowIndex + 23).HeightInPoints = 30f; + ws.GetRow(rowIndex + 24).HeightInPoints = 3f; + ws.GetRow(rowIndex + 25).HeightInPoints = 30f; + ws.GetRow(rowIndex + 26).HeightInPoints = 5f; + ws.GetRow(rowIndex + 27).HeightInPoints = 5f; + ws.GetRow(rowIndex + 28).HeightInPoints = 30f; #endregion - rowIndex += 31; + rowIndex += 29; } ws.PrintSetup.Landscape = true; @@ -2791,220 +2794,271 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage var img3 = Server.MapPath("~/res/images/bsf/3.png"); var img4 = Server.MapPath("~/res/images/bsf/4.png"); + //模拟数据 + string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User"; + SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) }; + var dt = SQLHelper.GetDataTableRunText(sql, parms); + + var tbNum = dt.Rows.Count; + var pageNum = tbNum < 24 ? 1 : Math.Ceiling((float)(tbNum - 24) / 24) + 1; int rowIndex = 0; - var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); - #region 头部 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 14, style, 0, 17, true); - ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No."); - ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06"); - //设置列宽度 - ws.SetColumnWidth(0, 2 * 256); - ws.SetColumnWidth(1, 1 * 256); - ws.SetColumnWidth(2, 8 * 256); - ws.SetColumnWidth(3, 5 * 256); - ws.SetColumnWidth(4, 5 * 256); - ws.SetColumnWidth(5, 8 * 256); - ws.SetColumnWidth(6, 8 * 256); - ws.SetColumnWidth(7, 10 * 256); - ws.SetColumnWidth(8, 10 * 256); - ws.SetColumnWidth(9, 11 * 256); - ws.SetColumnWidth(10, 9 * 256); - ws.SetColumnWidth(11, 8 * 256); - ws.SetColumnWidth(12, 1 * 256); - ws.SetColumnWidth(13, 9 * 256); - ws.SetColumnWidth(14, 9 * 256); - ws.SetColumnWidth(15, 9 * 256); - ws.SetColumnWidth(16, 8 * 256); - ws.SetColumnWidth(17, 1 * 256); - //设置前3行高度 - ws.GetRow(0).Height = 15 * 20; - ws.GetRow(1).Height = 15 * 20; - ws.GetRow(2).Height = 14 * 20; - - //设置3-15行的行高度 - for (int i = 3; i < 15; i++) + for (int num = 1; num <= pageNum; num++) { - ws.GetRow(i).Height = 18 * 20; + var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); + + #region 头部 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 14, style, 0, 17, true); + ws.GetRow(rowIndex).GetCell(14).SetCellValue("Form No."); + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 14, 15)); + ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06"); + //设置列宽度 + ws.SetColumnWidth(0, 2 * 256);//A + ws.SetColumnWidth(1, 1 * 256);//B + ws.SetColumnWidth(2, 5 * 256);//C + ws.SetColumnWidth(3, 4 * 256);//D + ws.SetColumnWidth(4, 4 * 256);//E + ws.SetColumnWidth(5, 5 * 256);//F + ws.SetColumnWidth(6, 5 * 256);//G + ws.SetColumnWidth(7, 5 * 256);//H + ws.SetColumnWidth(8, 6 * 256);//I + ws.SetColumnWidth(9, 7 * 256);//J + ws.SetColumnWidth(10, 6 * 256);//K + ws.SetColumnWidth(11, 6 * 256);//L + ws.SetColumnWidth(12, 1 * 256);//M + ws.SetColumnWidth(13, 6 * 256);//N + ws.SetColumnWidth(14, 6 * 256);//O + ws.SetColumnWidth(15, 6 * 256);//P + ws.SetColumnWidth(16, 7 * 256);//Q + ws.SetColumnWidth(17, 1 * 256);//R + //设置前3行高度 + ws.GetRow(rowIndex).Height = 15 * 20; + ws.GetRow(rowIndex + 1).Height = 15 * 20; + ws.GetRow(rowIndex + 2).Height = 14 * 20; + + //设置3-15行的行高度 + for (int i = rowIndex + 3; i < rowIndex + 15; i++) + { + ws.GetRow(i).Height = 18 * 20; + } + + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex, rowIndex, 1, 1), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws); + + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 16, 16), ws); + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws); + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 2, 16), ws); + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 2, 16), ws); + + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 14, 0, 0), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 1, 1), ws); + + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 16, 16), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 17, 17), ws); + + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 9, rowIndex + 14, 2, 2), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 2, 16), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 8, rowIndex + 8, 2, 16), ws); + //插入图片 + InsertImage(hssfworkbook, ws, rowIndex + 3, 2, rowIndex + 4, 3, img1, 1.2, 1.8); + InsertImage(hssfworkbook, ws, rowIndex + 3, 3, rowIndex + 4, 4, img2, 1.9, 1.9); + InsertImage(hssfworkbook, ws, rowIndex + 3, 13, rowIndex + 4, 14, img3, 1.5, 1.5); + InsertImage(hssfworkbook, ws, rowIndex + 3, 15, rowIndex + 4, 16, img4, 1.5, 1.5); + + ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目"); + var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); + ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13)); + ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT"); + ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13)); + ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("管道静电接地清单"); + ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13)); + ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("LIST OF PIPING ELECTROSTATIC GROUNDING"); + ws.GetRow(rowIndex + 6).GetCell(5).CellStyle = setStyle; + + var cellStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS"); + ws.GetRow(rowIndex + 9).GetCell(2).SetCellValue("Test Package No"); + ws.GetRow(rowIndex + 9).GetCell(2).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 9).GetCell(5).SetCellValue(info?.testpackageNo); + ws.GetRow(rowIndex + 9).GetCell(5).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("Area"); + ws.GetRow(rowIndex + 9).GetCell(9).CellStyle = cellStyle2; + ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue(info?.workAreaCode); + + ws.GetRow(rowIndex + 10).GetCell(2).SetCellValue("试压包号"); + ws.GetRow(rowIndex + 10).GetCell(2).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 10).GetCell(9).SetCellValue("区域"); + ws.GetRow(rowIndex + 10).GetCell(9).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 11).GetCell(2).SetCellValue("System No"); + ws.GetRow(rowIndex + 11).GetCell(2).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 11).GetCell(5).SetCellValue(info?.SystemNo); + ws.GetRow(rowIndex + 11).GetCell(5).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 11).GetCell(9).SetCellValue("Test Pressure"); + ws.GetRow(rowIndex + 11).GetCell(9).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 11).GetCell(13).SetCellValue(info?.TestPressure); + ws.GetRow(rowIndex + 11).GetCell(13).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 12).GetCell(2).SetCellValue("系统号"); + ws.GetRow(rowIndex + 12).GetCell(2).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 12).GetCell(9).SetCellValue("试验压力"); + ws.GetRow(rowIndex + 12).GetCell(9).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 13).GetCell(9).SetCellValue("Test Type"); + ws.GetRow(rowIndex + 13).GetCell(9).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 13).GetCell(13).SetCellValue(info?.TestType); + ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2; + + ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式"); + ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13)); + + #endregion + + #region 表格部分 + + style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 15, rowIndex + 40, style, 0, 17, true); + + var dStart = 0; + var dEnd = 0; + if (num == 1) + { + dStart = 0; + dEnd = 24; + } + else + { + dStart = num == 2 ? 24 : ((num - 2) * 24) + 24; + dEnd = ((num - 1) * 24) + 24; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); + + ws.GetRow(rowIndex + 15).HeightInPoints = 28f; + //数据表头部分 + ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号"); + ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Isometric Drawing No\r\n单线图号"); + ws.GetRow(rowIndex + 15).GetCell(8).SetCellValue("接头型式\r\nConnection Type"); + ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("规格\r\nSpecification"); + ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue("材质\r\nMaterial"); + ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注"); + + int j = 0; + for (int i = 15; i <= 39; i++) + { + ws.GetRow(rowIndex + i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None); + ws.GetRow(rowIndex + i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + ws.GetRow(rowIndex + i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 7)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 12)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 15)); + if (i > 15) + { + ws.GetRow(rowIndex + i).HeightInPoints = 18f; + + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(3).SetCellValue(dr["PTP_ID"].ToString()); + } + j++; + } + } + + + #endregion + + #region 尾部 + + //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。 + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 40, rowIndex + 45, style, 0, 17, true); + for (int i = rowIndex + 40; i <= rowIndex + 45; i++) + { + ws.GetRow(i).Height = 18 * 20; + ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium); + ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium); + ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + } + + ws.GetRow(rowIndex + 40).HeightInPoints = 14f; + ws.GetRow(rowIndex + 41).HeightInPoints = 14f; + ws.GetRow(rowIndex + 42).HeightInPoints = 14f; + + for (int i = 2; i < 17; i++) + { + ws.GetRow(rowIndex + 45).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); + } + ws.GetRow(rowIndex + 45).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None); + ws.GetRow(rowIndex + 45).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); + ws.GetRow(rowIndex + 45).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 2, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 5, 6)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 7, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 10, 13)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 14, 16)); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 43, 2, 4)); + ws.GetRow(rowIndex + 43).GetCell(2).SetCellValue("PREPARED"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 43, 5, 6)); + ws.GetRow(rowIndex + 43).GetCell(5).SetCellValue("REVIEW"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 44, 7, 9)); + ws.GetRow(rowIndex + 43).GetCell(7).SetCellValue("JIANLI"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 44, 10, 13)); + ws.GetRow(rowIndex + 43).GetCell(10).SetCellValue("Worley"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 44, 14, 16)); + ws.GetRow(rowIndex + 43).GetCell(14).SetCellValue("BASF"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 44, 2, 6)); + ws.GetRow(rowIndex + 44).GetCell(2).SetCellValue("CC7"); + #endregion + + rowIndex += 46; + } - RegionUtil.SetBorderBottom(2, new CellRangeAddress(0, 0, 1, 1), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 1, 17, 17), ws); - RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 16, 16), ws); - RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 17, 17), ws); - RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 2, 16), ws); - RegionUtil.SetBorderTop(2, new CellRangeAddress(2, 2, 2, 16), ws); - - RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 14, 0, 0), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 1, 1), ws); - - RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 16, 16), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 17, 17), ws); - - - RegionUtil.SetBorderLeft(2, new CellRangeAddress(9, 14, 2, 2), ws); - RegionUtil.SetBorderBottom(2, new CellRangeAddress(7, 7, 2, 16), ws); - RegionUtil.SetBorderBottom(2, new CellRangeAddress(8, 8, 2, 16), ws); - //插入图片 - InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8); - InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 1.9, 1.9); - InsertImage(hssfworkbook, ws, 3, 13, 4, 14, img3, 1.5, 1.5); - InsertImage(hssfworkbook, ws, 3, 15, 4, 16, img4, 1.5, 1.5); - - ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目"); - var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); - ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13)); - ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT"); - ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13)); - ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("管道静电接地清单"); - ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13)); - ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("LIST OF PIPING ELECTROSTATIC GROUNDING"); - ws.GetRow(rowIndex + 6).GetCell(5).CellStyle = setStyle; - - var cellStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS"); - ws.GetRow(rowIndex + 9).GetCell(2).SetCellValue("Test Package No"); - ws.GetRow(rowIndex + 9).GetCell(2).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 9).GetCell(5).SetCellValue(info?.testpackageNo); - ws.GetRow(rowIndex + 9).GetCell(5).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("Area"); - ws.GetRow(rowIndex + 9).GetCell(9).CellStyle = cellStyle2; - ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue(info?.workAreaCode); - - ws.GetRow(rowIndex + 10).GetCell(2).SetCellValue("试压包号"); - ws.GetRow(rowIndex + 10).GetCell(2).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 10).GetCell(9).SetCellValue("区域"); - ws.GetRow(rowIndex + 10).GetCell(9).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 11).GetCell(2).SetCellValue("System No"); - ws.GetRow(rowIndex + 11).GetCell(2).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 11).GetCell(5).SetCellValue(info?.SystemNo); - ws.GetRow(rowIndex + 11).GetCell(5).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 11).GetCell(9).SetCellValue("Test Pressure"); - ws.GetRow(rowIndex + 11).GetCell(9).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 11).GetCell(13).SetCellValue(info?.TestPressure); - ws.GetRow(rowIndex + 11).GetCell(13).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 12).GetCell(2).SetCellValue("系统号"); - ws.GetRow(rowIndex + 12).GetCell(2).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 12).GetCell(9).SetCellValue("试验压力"); - ws.GetRow(rowIndex + 12).GetCell(9).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 13).GetCell(9).SetCellValue("Test Type"); - ws.GetRow(rowIndex + 13).GetCell(9).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 13).GetCell(13).SetCellValue(info?.TestType); - ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2; - - ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式"); - ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13)); - #endregion - - #region 表格部分 - - - style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS"); - ws = ExcelCreateRow(ws, hssfworkbook, 15, rowIndex + 49, style, 0, 17, true); - for (int i = 15; i < 50; i++) - { - ws.GetRow(i).Height = 20 * 20; - ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None); - ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); - ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 7)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 9)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 12)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 15)); - } - ws.GetRow(15).Height = 28 * 20; - //数据表头部分 - ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号"); - ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Isometric Drawing No\r\n单线图号"); - ws.GetRow(rowIndex + 15).GetCell(8).SetCellValue("接头型式\r\nConnection Type"); - ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("规格\r\nSpecification"); - ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue("材质\r\nMaterial"); - ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注"); - - #endregion - - #region 尾部 - - //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。 - ws = ExcelCreateRow(ws, hssfworkbook, 49, rowIndex + 55, style, 0, 17, true); - for (int i = 49; i <= 55; i++) - { - ws.GetRow(i).Height = 18 * 20; - ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium); - ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium); - ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); - } - - for (int i = 2; i < 17; i++) - { - ws.GetRow(rowIndex + 55).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); - } - ws.GetRow(rowIndex + 55).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None); - ws.GetRow(rowIndex + 55).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); - ws.GetRow(rowIndex + 55).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 2, 4)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 5, 6)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 7, 9)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 10, 13)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 14, 16)); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 2, 4)); - ws.GetRow(rowIndex + 53).GetCell(2).SetCellValue("PREPARED"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 5, 6)); - ws.GetRow(rowIndex + 53).GetCell(5).SetCellValue("REVIEW"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 7, 9)); - ws.GetRow(rowIndex + 53).GetCell(7).SetCellValue("JIANLI"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 10, 13)); - ws.GetRow(rowIndex + 53).GetCell(10).SetCellValue("Worley"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 14, 16)); - ws.GetRow(rowIndex + 53).GetCell(14).SetCellValue("BASF"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6)); - ws.GetRow(rowIndex + 54).GetCell(2).SetCellValue("CC7"); - #endregion - - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; + ws.PrintSetup.Landscape = false; + ws.ForceFormulaRecalculation = true; ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - - ws.FitToPage = true; - //垂直水平居中 ws.VerticallyCenter = true; ws.HorizontallyCenter = true; - //打印边距设置 厘米/3 - ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3); - ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); - //页眉页脚间距 - ws.SetMargin(MarginType.HeaderMargin, 0); - ws.SetMargin(MarginType.FooterMargin, 0); + //ws.PrintSetup.FitWidth = 1; + //ws.PrintSetup.FitHeight = 0; + //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; + //ws.FitToPage = true; + ////垂直水平居中 + //ws.VerticallyCenter = true; + //ws.HorizontallyCenter = true; + ////打印边距设置 厘米/3 + //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); + //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3); + //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3); + //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); + ////页眉页脚间距 + //ws.SetMargin(MarginType.HeaderMargin, 0); + //ws.SetMargin(MarginType.FooterMargin, 0); } @@ -3012,410 +3066,571 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage private void template17(XSSFWorkbook hssfworkbook, XSSFSheet ws) { var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID); + + //模拟数据 + string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User"; + SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) }; + var dt = SQLHelper.GetDataTableRunText(sql, parms); + + var tbNum = dt.Rows.Count; + var pageNum = tbNum < 9 ? 1 : Math.Ceiling((float)(tbNum - 9) / 9) + 1; + int rowIndex = 0; - var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); - - #region 头部 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 3, style, 1, 12, true); - ws.SetColumnWidth(0, 2 * 256); - ws.SetColumnWidth(1, 13 * 256); - ws.SetColumnWidth(2, 12 * 256); - ws.SetColumnWidth(3, 12 * 256); - ws.SetColumnWidth(4, 10 * 256); - ws.SetColumnWidth(5, 10 * 256); - ws.SetColumnWidth(6, 10 * 256); - ws.SetColumnWidth(7, 10 * 256); - ws.SetColumnWidth(8, 12 * 256); - ws.SetColumnWidth(9, 12 * 256); - ws.SetColumnWidth(10, 12 * 256); - ws.SetColumnWidth(11, 15 * 256); - ws.SetColumnWidth(12, 15 * 256); - - ws.GetRow(rowIndex + 1).Height = 18 * 20 * 5; - ws.GetRow(rowIndex + 2).Height = 18 * 20; - ws.GetRow(rowIndex + 3).Height = 18 * 20 * 3; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 4)); - ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503—J411-1"); - - var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); - style1.WrapText = true; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 5, 8)); - ws.GetRow(rowIndex + 1).GetCell(5).CellStyle = style1; - ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("管道焊接接头热处理报告\nPiping Welded Joint Heat Treatment Report "); - - var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS"); - style2.WrapText = true; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 9, 12)); - ws.GetRow(rowIndex + 1).GetCell(9).CellStyle = style2; - ws.GetRow(rowIndex + 1).GetCell(9).SetCellValue($"工程名称:{info?.projectName}\n\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\n\nUnit Name:{info?.enWorkAreaName}"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 2, 12)); - ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("Report No."); - - ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("Heat Treatment Method"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 2, 6)); - ws.GetRow(rowIndex + 3).GetCell(7).SetCellValue("Heat Treatment Equipment"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 8, 12)); - - #endregion - - #region 表格部分 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 12, style, 1, 12, true); - for (int i = 4; i < 13; i++) + for (int num = 1; num <= pageNum; num++) { - ws.GetRow(rowIndex + i).Height = 20 * 20; - if (4 == i) + var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); + + #region 头部 + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 2, style, 1, 12, true); + ws.SetColumnWidth(0, 1 * 256);//A + ws.SetColumnWidth(1, 11 * 256);//B + ws.SetColumnWidth(2, 9 * 256);//C + ws.SetColumnWidth(3, 11 * 256);//D + ws.SetColumnWidth(4, 9 * 256);//E + ws.SetColumnWidth(5, 11 * 256);//F + ws.SetColumnWidth(6, 11 * 256);//G + ws.SetColumnWidth(7, 11 * 256);//H + ws.SetColumnWidth(8, 10 * 256);//I + ws.SetColumnWidth(9, 10 * 256);//J + ws.SetColumnWidth(10, 10 * 256);//K + ws.SetColumnWidth(11, 11 * 256);//L + ws.SetColumnWidth(12, 11 * 256);//M + + ws.GetRow(rowIndex).HeightInPoints = 100f; + ws.GetRow(rowIndex + 1).HeightInPoints = 18f; + ws.GetRow(rowIndex + 2).HeightInPoints = 50f; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 1, 4)); + ws.GetRow(rowIndex).GetCell(1).SetCellValue("SH/T 3503—J411-1"); + + var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); + style1.WrapText = true; + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 5, 8)); + ws.GetRow(rowIndex).GetCell(5).CellStyle = style1; + var title = num == 1 ? "管道焊接接头热处理报告\nPiping Welded Joint Heat Treatment Report" : "管道焊接接头热处理报告(续)\nPiping Welded Joint Heat Treatment Report(Continued)"; + ws.GetRow(rowIndex).GetCell(5).SetCellValue(title); + + var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS"); + style2.WrapText = true; + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 9, 12)); + ws.GetRow(rowIndex).GetCell(9).CellStyle = style2; + ws.GetRow(rowIndex).GetCell(9).SetCellValue($"工程名称:{info?.projectName}\n\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\n\nUnit Name:{info?.enWorkAreaName}"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 2, 12)); + ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("Report No."); + + ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("Heat Treatment Method"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 2, 6)); + ws.GetRow(rowIndex + 2).GetCell(7).SetCellValue("Heat Treatment Equipment"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 12)); + + #endregion + + #region 表格部分 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 1, 12, true); + for (int i = 3; i <= 13; i++) { - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 1, 1)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 2, 2)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 3, 3)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 4, 5)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 7)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 8, 8)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 9, 9)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 10, 10)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 11, 11)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 12, 12)); + ws.GetRow(rowIndex + i).Height = 20 * 20; + if (3 == i) + { + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 1, 1)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 2, 2)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 3, 3)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 4, 5)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 7)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 8, 8)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 9, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 10, 10)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 11, 11)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 12, 12)); + } + if (4 == i) + continue; } - if (5 == i) - continue; + ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("Piping No./Line No."); + ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("Weld No."); + ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("Temp. Measuring Point No."); + ws.GetRow(rowIndex + 3).GetCell(4).SetCellValue("HT Temperature ℃"); + ws.GetRow(rowIndex + 3).GetCell(6).SetCellValue("Holding Time h"); + ws.GetRow(rowIndex + 3).GetCell(8).SetCellValue("Material"); + ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("Specification"); + ws.GetRow(rowIndex + 3).GetCell(10).SetCellValue("Heat Treatment Date"); + ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue("Recording Curve No."); + ws.GetRow(rowIndex + 3).GetCell(12).SetCellValue("Hardness Report No."); + + ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("Required"); + ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("Actual"); + ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("Required"); + ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("Actual"); + + + var dStart = 0; + var dEnd = 0; + if (num == 1) + { + dStart = 0; + dEnd = 9; + } + else + { + dStart = num == 2 ? 9 : ((num - 2) * 9) + 9; + dEnd = ((num - 1) * 9) + 9; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); + int j = 0; + for (int i = 5; i <= 13; i++) + { + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(2).SetCellValue(dr["PTP_ID"].ToString()); + } + j++; + } + + + #endregion + + #region 尾部 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 1, 12, true); + ws.GetRow(rowIndex + 14).Height = 18 * 20; + ws.GetRow(rowIndex + 15).Height = 18 * 20; + ws.GetRow(rowIndex + 16).Height = 18 * 20 * 4; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 12)); + ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("Conclusion:"); + ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 1, 3)); + ws.GetRow(rowIndex + 15).GetCell(1).SetCellValue("Owner/Supervision Contractor"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 6)); + ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("General Contractor"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 7, 9)); + ws.GetRow(rowIndex + 15).GetCell(7).SetCellValue("Construction Contractor"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 12)); + ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("Heat Treatment Contractor"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 1, 3)); + ws.GetRow(rowIndex + 16).GetCell(1).SetCellValue(" Discipline Engineer:\n\n\n\n Date:"); + ws.GetRow(rowIndex + 16).GetCell(1).CellStyle = style2; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 6)); + ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue(" Discipline Engineer:\n\n\n\n Date:"); + ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 7, 9)); + ws.GetRow(rowIndex + 16).GetCell(7).SetCellValue(" Foreman:\n Quality Inspector:\n Discipline Engineer:\n\n Date:"); + ws.GetRow(rowIndex + 16).GetCell(7).CellStyle = style2; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 12)); + ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue(" Operator:\n Discipline Engineer:\n\n\n Date:"); + ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2; + + #endregion + + rowIndex += 17; + } - ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("Piping No./Line No."); - ws.GetRow(rowIndex + 4).GetCell(2).SetCellValue("Weld No."); - ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("Temp. Measuring Point No."); - ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("HT Temperature ℃"); - ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("Holding Time h"); - ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("Material"); - ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("Specification"); - ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("Heat Treatment Date"); - ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("Recording Curve No."); - ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("Hardness Report No."); - - ws.GetRow(rowIndex + 5).GetCell(4).SetCellValue("Required"); - ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("Actual"); - ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("Required"); - ws.GetRow(rowIndex + 5).GetCell(7).SetCellValue("Actual"); - - #endregion - - #region 尾部 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 13, rowIndex + 15, style, 1, 12, true); - ws.GetRow(rowIndex + 13).Height = 18 * 20; - ws.GetRow(rowIndex + 14).Height = 18 * 20; - ws.GetRow(rowIndex + 15).Height = 18 * 20 * 4; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 13, rowIndex + 13, 1, 12)); - ws.GetRow(rowIndex + 13).GetCell(1).SetCellValue("Conclusion:"); - ws.GetRow(rowIndex + 13).GetCell(1).CellStyle = style2; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 3)); - ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("Owner/Supervision Contractor"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 4, 6)); - ws.GetRow(rowIndex + 14).GetCell(4).SetCellValue("General Contractor"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 7, 9)); - ws.GetRow(rowIndex + 14).GetCell(7).SetCellValue("Construction Contractor"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 10, 12)); - ws.GetRow(rowIndex + 14).GetCell(10).SetCellValue("Heat Treatment Contractor"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 1, 3)); - ws.GetRow(rowIndex + 15).GetCell(1).SetCellValue(" Discipline Engineer:\n\n\n\n Date:"); - ws.GetRow(rowIndex + 15).GetCell(1).CellStyle = style2; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 6)); - ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue(" Discipline Engineer:\n\n\n\n Date:"); - ws.GetRow(rowIndex + 15).GetCell(4).CellStyle = style2; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 7, 9)); - ws.GetRow(rowIndex + 15).GetCell(7).SetCellValue(" Foreman:\n Quality Inspector:\n Discipline Engineer:\n\n Date:"); - ws.GetRow(rowIndex + 15).GetCell(7).CellStyle = style2; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 12)); - ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue(" Operator:\n Discipline Engineer:\n\n\n Date:"); - ws.GetRow(rowIndex + 15).GetCell(10).CellStyle = style2; - #endregion - - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; - ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - - ws.FitToPage = true; - - //横向打印 ws.PrintSetup.Landscape = true; + ws.ForceFormulaRecalculation = true; + ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; //垂直水平居中 ws.VerticallyCenter = true; ws.HorizontallyCenter = true; - //打印边距设置 厘米/3 - ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3); - ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); - //页眉页脚间距 - ws.SetMargin(MarginType.HeaderMargin, 0); - ws.SetMargin(MarginType.FooterMargin, 0); + //ws.PrintSetup.FitWidth = 1; + //ws.PrintSetup.FitHeight = 0; + //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; + + //ws.FitToPage = true; + + ////横向打印 + //ws.PrintSetup.Landscape = true; + ////垂直水平居中 + //ws.VerticallyCenter = true; + //ws.HorizontallyCenter = true; + ////打印边距设置 厘米/3 + //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); + //ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3); + //ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3); + //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); + + ////页眉页脚间距 + //ws.SetMargin(MarginType.HeaderMargin, 0); + //ws.SetMargin(MarginType.FooterMargin, 0); } //18-金属材料化学成分检验报告SHT 3503-J129 private void template18(XSSFWorkbook hssfworkbook, XSSFSheet ws) { var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID); + + + //模拟数据 + string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User"; + SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) }; + var dt = SQLHelper.GetDataTableRunText(sql, parms); + + var tbNum = dt.Rows.Count; + var pageNum = tbNum < 11 ? 1 : Math.Ceiling((float)(tbNum - 11) / 11) + 1; + int rowIndex = 0; - var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); - - #region 头部 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 4, style, 1, 15, true); - ws.SetColumnWidth(0, 2 * 256); - for (int i = 1; i < 16; i++) + for (int num = 1; num <= pageNum; num++) { - if (i == 3 || i == 4) - ws.SetColumnWidth(i, 4 * 256); - else if (i == 15) - ws.SetColumnWidth(i, 8 * 256); - else - ws.SetColumnWidth(i, 5 * 256); - } - ws.GetRow(rowIndex + 1).Height = 20 * 20 * 6; - for (int i = 2; i < 5; i++) - { - ws.GetRow(rowIndex + i).Height = 20 * 20 * 3; - } - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 4)); - ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503—J129"); + var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); - var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); - style1.WrapText = true; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 5, 10)); - ws.GetRow(rowIndex + 1).GetCell(5).CellStyle = style1; - ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("金属材料化学成分检验报告\nMetal Material Chemical Composition Test Report\n\n第 页 共 页 Page of "); + #region 头部 - var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS"); - style2.WrapText = true; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 15)); - ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = style2; - ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n单位工程名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 3, style, 1, 15, true); - for (int i = 2; i < 5; i++) - { - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 5)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 7)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 10)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 15)); - } - ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("委托单位\nEntrusted by"); - ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("施工单位\nConstruction Contractor"); - ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue("报告编号\nReport No."); - ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("检件名称\nTest Piece Description"); - ws.GetRow(rowIndex + 3).GetCell(6).SetCellValue("检验标准\nTest Criteria"); - ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue("被检验材料标准\nMaterial Specification"); - ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("检验方法\nTest Method"); - ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("设备型号\nEquipment Model"); - ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("检件材质\nTest Piece Material"); - #endregion + ws.SetColumnWidth(0, 1 * 256);//A + ws.SetColumnWidth(1, 5 * 256);//B + ws.SetColumnWidth(2, 5 * 256);//C + ws.SetColumnWidth(3, 4 * 256);//D + ws.SetColumnWidth(4, 4 * 256);//E + ws.SetColumnWidth(5, 6 * 256);//F + ws.SetColumnWidth(6, 6 * 256);//G + ws.SetColumnWidth(7, 6 * 256);//H + ws.SetColumnWidth(8, 6 * 256);//I + ws.SetColumnWidth(9, 6 * 256);//J + ws.SetColumnWidth(10, 6 * 256);//K + ws.SetColumnWidth(11, 6 * 256);//L + ws.SetColumnWidth(12, 6 * 256);//M + ws.SetColumnWidth(13, 5 * 256);//N + ws.SetColumnWidth(14, 5 * 256);//O + ws.SetColumnWidth(15, 8 * 256);//P - #region 表格部分 + //ws.SetColumnWidth(0, 2 * 256); + //for (int i = 1; i < 16; i++) + //{ + // if (i == 3 || i == 4) + // ws.SetColumnWidth(i, 4 * 256); + // else if (i == 15) + // ws.SetColumnWidth(i, 8 * 256); + // else + // ws.SetColumnWidth(i, 5 * 256); + //} - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 5, rowIndex + 17, style, 1, 15, true); - for (int i = 5; i < 18; i++) - { - if (i == 6) + ws.GetRow(rowIndex).Height = 20 * 20 * 6; + + ws.GetRow(rowIndex + 1).HeightInPoints = 50; + ws.GetRow(rowIndex + 2).HeightInPoints = 60; + ws.GetRow(rowIndex + 3).HeightInPoints = 50; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 1, 4)); + ws.GetRow(rowIndex).GetCell(1).SetCellValue("SH/T 3503—J129"); + + var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); + style1.WrapText = true; + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 5, 10)); + ws.GetRow(rowIndex).GetCell(5).CellStyle = style1; + ws.GetRow(rowIndex).GetCell(5).SetCellValue($"金属材料化学成分检验报告\nMetal Material Chemical Composition Test Report\n\n第 {num} 页 共 {pageNum} 页 Page of "); + + var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS"); + style2.WrapText = true; + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 11, 15)); + ws.GetRow(rowIndex).GetCell(11).CellStyle = style2; + ws.GetRow(rowIndex).GetCell(11).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n单位工程名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}"); + + for (int i = 1; i < 4; i++) { - ws.GetRow(rowIndex + i).Height = 60 * 20; - continue; - } - if (i == 5) - { - ws.GetRow(rowIndex + i).Height = 60 * 20; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 1, 2)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 3, 4)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 5, 5)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 15)); - } - else - { - ws.GetRow(rowIndex + i).Height = 20 * 20; ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 5)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 7)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 10)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 15)); } + ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("委托单位\nEntrusted by"); + ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("施工单位\nConstruction Contractor"); + ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue("报告编号\nReport No."); + ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("检件名称\nTest Piece Description"); + ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检验标准\nTest Criteria"); + ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue("被检验材料标准\nMaterial Specification"); + ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("检验方法\nTest Method"); + ws.GetRow(rowIndex + 3).GetCell(6).SetCellValue("设备型号\nEquipment Model"); + ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue("检件材质\nTest Piece Material"); + #endregion + + #region 表格部分 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 16, style, 1, 15, true); + + var dStart = 0; + var dEnd = 0; + if (num == 1) + { + dStart = 0; + dEnd = 11; + } + else + { + dStart = num == 2 ? 11 : ((num - 2) * 11) + 11; + dEnd = ((num - 1) * 11) + 11; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); + int j = 0; + for (int i = 4; i < 17; i++) + { + + if (i == 5) + { + ws.GetRow(rowIndex + i).HeightInPoints = 70f; + continue; + } + if (i == 4) + { + ws.GetRow(rowIndex + i).HeightInPoints = 60f; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 1, 2)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 3, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 5, 5)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 15)); + } + else + { + ws.GetRow(rowIndex + i).HeightInPoints = 20f; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4)); + + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(3).SetCellValue(dr["PTP_ID"].ToString()); + } + j++; + + } + + } + ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("质量证明文件编号/炉批号\nQuality Certificate No./Heat No. or Lot No."); + ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("检验部位编号\nTest Position No."); + ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("规格\nSpecification"); + ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("元素含量%\nElement Content"); + + #endregion + + #region 尾部 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 17, rowIndex + 23, style, 1, 15, true); + ws.GetRow(rowIndex + 17).Height = 20 * 20 * 4; + ws.GetRow(rowIndex + 23).Height = 90 * 20; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 1, 15)); + ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue(" 检验结论Conclusion:\n 共检验点,符合标准要求点,不符合标准要求点,具体检验部位详见示意图。\n Totally points are tested, where points are conforming and points are nonconforming. For specific test positions, see the sketch."); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 1, 5)); + ws.GetRow(rowIndex + 23).GetCell(1).SetCellValue("\n 试验人Tested by:\n\n\n 资格Qualification:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 6, 10)); + ws.GetRow(rowIndex + 23).GetCell(6).SetCellValue("\n 审核人Reviewed by:\n\n\n 资格Qualification:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 11, 15)); + ws.GetRow(rowIndex + 23).GetCell(11).SetCellValue(" 检测单位:(公章)\n\n Inspection Agency: (Official Seal)\n\n 报告日期Date: 年 月 日"); + + ws.GetRow(rowIndex + 17).GetCell(1).CellStyle = ws.GetRow(rowIndex + 23).GetCell(1).CellStyle = ws.GetRow(rowIndex + 23).GetCell(6).CellStyle = ws.GetRow(rowIndex + 23).GetCell(11).CellStyle = style2; + #endregion + + rowIndex += 19; } - ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("质量证明文件编号/炉批号\nQuality Certificate No./Heat No. or Lot No."); - ws.GetRow(rowIndex + 5).GetCell(3).SetCellValue("检验部位编号\nTest Position No."); - ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("规格\nSpecification"); - ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("元素含量%\nElement Content"); - #endregion - - #region 尾部 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 18, rowIndex + 19, style, 1, 15, true); - ws.GetRow(rowIndex + 18).Height = 20 * 20 * 4; - ws.GetRow(rowIndex + 19).Height = 90 * 20; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 1, 15)); - ws.GetRow(rowIndex + 18).GetCell(1).SetCellValue(" 检验结论Conclusion:\n 共检验点,符合标准要求点,不符合标准要求点,具体检验部位详见示意图。\n Totally points are tested, where points are conforming and points are nonconforming. For specific test positions, see the sketch."); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 1, 5)); - ws.GetRow(rowIndex + 19).GetCell(1).SetCellValue("\n 试验人Tested by:\n\n\n 资格Qualification:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 6, 10)); - ws.GetRow(rowIndex + 19).GetCell(6).SetCellValue("\n 审核人Reviewed by:\n\n\n 资格Qualification:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 11, 15)); - ws.GetRow(rowIndex + 19).GetCell(11).SetCellValue(" 检测单位:(公章)\n\n Inspection Agency: (Official Seal)\n\n 报告日期Date: 年 月 日"); - - ws.GetRow(rowIndex + 18).GetCell(1).CellStyle = ws.GetRow(rowIndex + 19).GetCell(1).CellStyle = ws.GetRow(rowIndex + 19).GetCell(6).CellStyle = ws.GetRow(rowIndex + 19).GetCell(11).CellStyle = style2; - #endregion - - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; + ws.PrintSetup.Landscape = false; + ws.ForceFormulaRecalculation = true; ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - - ws.FitToPage = true; - //垂直水平居中 ws.VerticallyCenter = true; ws.HorizontallyCenter = true; - //打印边距设置 厘米/3 - ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3); - ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); - //页眉页脚间距 - ws.SetMargin(MarginType.HeaderMargin, 0); - ws.SetMargin(MarginType.FooterMargin, 0); + //ws.PrintSetup.FitWidth = 1; + //ws.PrintSetup.FitHeight = 0; + //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; + //ws.FitToPage = true; + ////垂直水平居中 + //ws.VerticallyCenter = true; + //ws.HorizontallyCenter = true; + ////打印边距设置 厘米/3 + //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); + //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3); + //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3); + //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); + + ////页眉页脚间距 + //ws.SetMargin(MarginType.HeaderMargin, 0); + //ws.SetMargin(MarginType.FooterMargin, 0); } //19-硬度检查报告SHT 3503-J130 private void template19(XSSFWorkbook hssfworkbook, XSSFSheet ws) { var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID); + + //模拟数据 + string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User"; + SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) }; + var dt = SQLHelper.GetDataTableRunText(sql, parms); + + var tbNum = dt.Rows.Count; + var pageNum = tbNum < 15 ? 1 : Math.Ceiling((float)(tbNum - 15) / 15) + 1; + int rowIndex = 0; - var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); - - #region 头部 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 5, style, 1, 12, true); - ws.SetColumnWidth(0, 2 * 256); - ws.SetColumnWidth(1, 10 * 256); - ws.SetColumnWidth(2, 5 * 256); - ws.SetColumnWidth(3, 5 * 256); - ws.SetColumnWidth(4, 5 * 256); - ws.SetColumnWidth(5, 10 * 256); - ws.SetColumnWidth(6, 5 * 256); - ws.SetColumnWidth(7, 5 * 256); - ws.SetColumnWidth(8, 5 * 256); - ws.SetColumnWidth(9, 10 * 256); - ws.SetColumnWidth(10, 5 * 256); - ws.SetColumnWidth(11, 5 * 256); - ws.SetColumnWidth(12, 5 * 256); - - ws.GetRow(rowIndex + 1).Height = 18 * 20 * 7; - ws.GetRow(rowIndex + 2).Height = ws.GetRow(rowIndex + 3).Height = ws.GetRow(rowIndex + 4).Height = ws.GetRow(rowIndex + 5).Height = 41 * 20; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 3)); - ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503—J130"); - - var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); - style1.WrapText = true; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 4, 9)); - ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = style1; - ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("硬度检测报告\nHardness Test Report\n\n第 页 共 页 Page of "); - - var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS"); - style2.WrapText = true; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 10, 12)); - ws.GetRow(rowIndex + 1).GetCell(10).CellStyle = style2; - ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n单位工程名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}"); - - for (int i = 2; i < 6; i++) + for (int num = 1; num <= pageNum; num++) { - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 2, 4)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 8)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 12)); - } - ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("委托单位\nEntrusted by"); - ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("施工单位\nConstruction Contractor"); - ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("报告编号\nReport No."); - ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("检件名称\nTest Piece Description"); - ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("检测标准\nTest Criteria"); - ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("验收标准\nMaterial Specification"); - ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("检件规格\nTest Piece Specification"); - ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("检件材质\nTest Piece Material"); - ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("检测比例\nTest Percentage"); - ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检测方法\nTest Position No."); - ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("热处理状态\nHT Status"); - ws.GetRow(rowIndex + 5).GetCell(9).SetCellValue("设备型号\nEquipment Model"); + var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); - #endregion + #region 头部 - #region 表格部分 + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 4, style, 1, 12, true); + ws.SetColumnWidth(0, 1 * 256);//A + ws.SetColumnWidth(1, 10 * 256);//B + ws.SetColumnWidth(2, 5 * 256);//C + ws.SetColumnWidth(3, 5 * 256);//D + ws.SetColumnWidth(4, 5 * 256);//E + ws.SetColumnWidth(5, 10 * 256);//F + ws.SetColumnWidth(6, 5 * 256);//G + ws.SetColumnWidth(7, 7 * 256);//H + ws.SetColumnWidth(8, 5 * 256);//I + ws.SetColumnWidth(9, 10 * 256);//J + ws.SetColumnWidth(10, 7 * 256);//K + ws.SetColumnWidth(11, 7 * 256);//L + ws.SetColumnWidth(12, 7 * 256);//M - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 16, style, 1, 12, true); + ws.GetRow(rowIndex).HeightInPoints = 100f; + ws.GetRow(rowIndex + 1).HeightInPoints = 50f; + ws.GetRow(rowIndex + 2).HeightInPoints = 50f; + ws.GetRow(rowIndex + 3).HeightInPoints = 50f; + ws.GetRow(rowIndex + 4).HeightInPoints = 50f; - for (int i = 6; i < 17; i++) - { - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12)); - if (i == 6) - ws.GetRow(rowIndex + i).Height = 41 * 20; + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 1, 3)); + ws.GetRow(rowIndex).GetCell(1).SetCellValue("SH/T 3503—J130"); + + var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); + style1.WrapText = true; + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 4, 9)); + ws.GetRow(rowIndex).GetCell(4).CellStyle = style1; + ws.GetRow(rowIndex).GetCell(4).SetCellValue($"硬度检测报告\nHardness Test Report\n\n第 {num} 页 共 {pageNum} 页 Page of "); + + var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS"); + style2.WrapText = true; + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 10, 12)); + ws.GetRow(rowIndex).GetCell(10).CellStyle = style2; + ws.GetRow(rowIndex).GetCell(10).SetCellValue($"工程名称:{info?.projectName}\n\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\n\nUnit Name:{info?.enWorkAreaName}"); + + for (int i = 1; i < 5; i++) + { + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 2, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 8)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 12)); + } + ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("委托单位\nEntrusted by"); + ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("施工单位\nConstruction Contractor"); + ws.GetRow(rowIndex + 1).GetCell(9).SetCellValue("报告编号\nReport No."); + ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("检件名称\nTest Piece Description"); + ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("检测标准\nTest Criteria"); + ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("验收标准\nMaterial Specification"); + ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("检件规格\nTest Piece Specification"); + ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("检件材质\nTest Piece Material"); + ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("检测比例\nTest Percentage"); + ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("检测方法\nTest Position No."); + ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("热处理状态\nHT Status"); + ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("设备型号\nEquipment Model"); + + #endregion + + #region 表格部分 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 5, rowIndex + 20, style, 1, 12, true); + + var dStart = 0; + var dEnd = 0; + if (num == 1) + { + dStart = 0; + dEnd = 15; + } else - ws.GetRow(rowIndex + i).Height = 22 * 20; + { + dStart = num == 2 ? 15 : ((num - 2) * 15) + 15; + dEnd = ((num - 1) * 15) + 15; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); + + int j = 0; + for (int i = 5; i < 21; i++) + { + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12)); + if (i == 5) + { + ws.GetRow(rowIndex + i).Height = 41 * 20; + } + else + { + ws.GetRow(rowIndex + i).Height = 22 * 20; + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(3).SetCellValue(dr["PTP_ID"].ToString()); + } + j++; + } + } + ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检测部位编号\nTest Position No."); + ws.GetRow(rowIndex + 5).GetCell(3).SetCellValue("硬度值\nHardness Value"); + ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("检测部位编号\nTest Position No."); + ws.GetRow(rowIndex + 5).GetCell(7).SetCellValue("硬度值\nHardness Value"); + ws.GetRow(rowIndex + 5).GetCell(9).SetCellValue("检测部位编号\nTest Position No."); + ws.GetRow(rowIndex + 5).GetCell(11).SetCellValue("硬度值\nHardness Value"); + #endregion + + #region 尾部 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 21, rowIndex + 22, style, 1, 12, true); + ws.GetRow(rowIndex + 21).HeightInPoints = 72f; + ws.GetRow(rowIndex + 22).HeightInPoints = 70f; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 1, 12)); + ws.GetRow(rowIndex + 21).GetCell(1).SetCellValue("检测结论:\nConclusion:\n共检测点,符合标准要求点,不符合标准要求点,具体检测部位详见示意图。\nTotally points are tested, where points are conforming and points are nonconforming. For specific test positions, see the sketch."); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 1, 4)); + ws.GetRow(rowIndex + 22).GetCell(1).SetCellValue("\n 试验人Tested by:\n\n\n 资格Qualification:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 5, 8)); + ws.GetRow(rowIndex + 22).GetCell(5).SetCellValue("\n 审核人Reviewed by:\n\n\n 资格Qualification:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 9, 12)); + ws.GetRow(rowIndex + 22).GetCell(9).SetCellValue(" 检测单位:(公章)\n\n Inspection Agency: (Official Seal)\n\n 报告日期Date: 年 月 日"); + + ws.GetRow(rowIndex + 21).GetCell(1).CellStyle = ws.GetRow(rowIndex + 22).GetCell(1).CellStyle = ws.GetRow(rowIndex + 22).GetCell(5).CellStyle = ws.GetRow(rowIndex + 22).GetCell(9).CellStyle = style2; + + #endregion + + rowIndex += 23; } - ws.GetRow(rowIndex + 6).GetCell(1).SetCellValue("检测部位编号\nTest Position No."); - ws.GetRow(rowIndex + 6).GetCell(3).SetCellValue("硬度值\nHardness Value"); - ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("检测部位编号\nTest Position No."); - ws.GetRow(rowIndex + 6).GetCell(7).SetCellValue("硬度值\nHardness Value"); - ws.GetRow(rowIndex + 6).GetCell(9).SetCellValue("检测部位编号\nTest Position No."); - ws.GetRow(rowIndex + 6).GetCell(11).SetCellValue("硬度值\nHardness Value"); - #endregion - #region 尾部 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 17, rowIndex + 18, style, 1, 12, true); - ws.GetRow(rowIndex + 17).Height = 18 * 20 * 4; - ws.GetRow(rowIndex + 18).Height = 18 * 20 * 5; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 1, 12)); - ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue("检测结论:\nConclusion:\n共检测点,符合标准要求点,不符合标准要求点,具体检测部位详见示意图。\nTotally points are tested, where points are conforming and points are nonconforming. For specific test positions, see the sketch."); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 1, 4)); - ws.GetRow(rowIndex + 18).GetCell(1).SetCellValue("\n 试验人Tested by:\n\n\n 资格Qualification:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 5, 8)); - ws.GetRow(rowIndex + 18).GetCell(5).SetCellValue("\n 审核人Reviewed by:\n\n\n 资格Qualification:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 9, 12)); - ws.GetRow(rowIndex + 18).GetCell(9).SetCellValue(" 检测单位:(公章)\n\n Inspection Agency: (Official Seal)\n\n 报告日期Date: 年 月 日"); - - ws.GetRow(rowIndex + 17).GetCell(1).CellStyle = ws.GetRow(rowIndex + 18).GetCell(1).CellStyle = ws.GetRow(rowIndex + 18).GetCell(5).CellStyle = ws.GetRow(rowIndex + 18).GetCell(9).CellStyle = style2; - - #endregion - - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; + ws.PrintSetup.Landscape = false; + ws.ForceFormulaRecalculation = true; ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - - ws.FitToPage = true; - //垂直水平居中 ws.VerticallyCenter = true; ws.HorizontallyCenter = true; - //打印边距设置 厘米/3 - ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3); - ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); - //页眉页脚间距 - ws.SetMargin(MarginType.HeaderMargin, 0); - ws.SetMargin(MarginType.FooterMargin, 0); + //ws.PrintSetup.FitWidth = 1; + //ws.PrintSetup.FitHeight = 0; + //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; + //ws.FitToPage = true; + ////垂直水平居中 + //ws.VerticallyCenter = true; + //ws.HorizontallyCenter = true; + ////打印边距设置 厘米/3 + //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); + //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3); + //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3); + //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); + ////页眉页脚间距 + //ws.SetMargin(MarginType.HeaderMargin, 0); + //ws.SetMargin(MarginType.FooterMargin, 0); } @@ -4142,18 +4357,18 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 17).GetCell(0).CellStyle = ws.GetRow(rowIndex + 17).GetCell(4).CellStyle = ws.GetRow(rowIndex + 17).GetCell(10).CellStyle = ws.GetRow(rowIndex + 17).GetCell(17).CellStyle = style1; ws.GetRow(rowIndex + 17).Height = 28 * 20; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 3)); - ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - ws.GetRow(rowIndex + 18).Height = 25 * 20; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 3)); + ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + ws.GetRow(rowIndex + 23).Height = 25 * 20; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 4, 9)); - ws.GetRow(rowIndex + 18).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 4, 9)); + ws.GetRow(rowIndex + 23).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 10, 16)); - ws.GetRow(rowIndex + 18).GetCell(10).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 10, 16)); + ws.GetRow(rowIndex + 23).GetCell(10).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 17, 20)); - ws.GetRow(rowIndex + 18).GetCell(17).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 17, 20)); + ws.GetRow(rowIndex + 23).GetCell(17).SetCellValue("专业工程师\r\nDiscipline Engineer:"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 17, 20)); ws.GetRow(rowIndex + 20).GetCell(17).SetCellValue("质量检查员:\r\nQuality Inspector:"); @@ -4182,14 +4397,14 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 19).Height = ws.GetRow(rowIndex + 21).Height = 14 * 20; - RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws); - RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 0, 0), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 20, 20), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 0, 20), ws); + RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws); + RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 0), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 20, 20), ws); + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 3, 3), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 9, 9), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 16, 16), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 3, 3), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 9, 9), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 16, 16), ws); #endregion @@ -4372,7 +4587,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 7).GetCell(20).SetCellValue("Examination Report No."); //这里创建行数据 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 18, style, 0, 20, true); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 23, style, 0, 20, true); var dStart = 0; var dEnd = 0; @@ -4413,20 +4628,20 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #region 尾部 style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, true, false); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 18, rowIndex + 25, style, 0, 20, true); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 23, rowIndex + 25, style, 0, 20, true); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 3)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 4, 9)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 10, 16)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 17, 20)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 3)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 4, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 10, 16)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 17, 20)); - ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor"); - ws.GetRow(rowIndex + 18).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor"); - ws.GetRow(rowIndex + 18).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor"); - ws.GetRow(rowIndex + 18).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company"); - ws.GetRow(rowIndex + 18).Height = 28 * 20; + ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor"); + ws.GetRow(rowIndex + 23).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor"); + ws.GetRow(rowIndex + 23).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor"); + ws.GetRow(rowIndex + 23).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company"); + ws.GetRow(rowIndex + 23).Height = 28 * 20; var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false); - ws.GetRow(rowIndex + 18).GetCell(0).CellStyle = ws.GetRow(rowIndex + 18).GetCell(4).CellStyle = ws.GetRow(rowIndex + 18).GetCell(10).CellStyle = ws.GetRow(rowIndex + 18).GetCell(17).CellStyle = style1; + ws.GetRow(rowIndex + 23).GetCell(0).CellStyle = ws.GetRow(rowIndex + 23).GetCell(4).CellStyle = ws.GetRow(rowIndex + 23).GetCell(10).CellStyle = ws.GetRow(rowIndex + 23).GetCell(17).CellStyle = style1; ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 0, 3)); @@ -4469,15 +4684,15 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 24).Height = 3 * 20; ws.GetRow(rowIndex + 25).Height = 28 * 20; - RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws); - RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 0, 0), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 20, 20), ws); + RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws); + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws); + RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 0, 0), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 20, 20), ws); RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 20), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 3, 3), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 9, 9), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 16, 16), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 3, 3), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 9, 9), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 16, 16), ws); #endregion @@ -5371,7 +5586,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #region 表格部分 style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + 18, style, 1, 23, true); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + 23, style, 1, 23, true); ws.GetRow(rowIndex + 7).Height = 30 * 20; ws.GetRow(rowIndex + 8).Height = 40 * 20; @@ -6012,12 +6227,12 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #region 尾部 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 16, rowIndex + 18, style, 0, 8, true); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 16, rowIndex + 23, style, 0, 8, true); //设置行高 ws.GetRow(rowIndex + 16).Height = 50 * 20; ws.GetRow(rowIndex + 17).Height = 50 * 20; - ws.GetRow(rowIndex + 18).Height = 150 * 20; + ws.GetRow(rowIndex + 23).Height = 150 * 20; //合并单元格填充文本数据 ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 8)); ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2; @@ -6033,12 +6248,12 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 17).GetCell(2).SetCellValue("总承包单位\nGeneral Contractor"); ws.GetRow(rowIndex + 17).GetCell(6).SetCellValue("施工单位\nConstruction Company"); - ws.GetRow(rowIndex + 18).GetCell(0).CellStyle = style2; - ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:"); - ws.GetRow(rowIndex + 18).GetCell(2).CellStyle = style2; - ws.GetRow(rowIndex + 18).GetCell(2).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:"); - ws.GetRow(rowIndex + 18).GetCell(6).CellStyle = style2; - ws.GetRow(rowIndex + 18).GetCell(6).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 班(组)长:\n Leader:\n\n 日期Date:"); + ws.GetRow(rowIndex + 23).GetCell(0).CellStyle = style2; + ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:"); + ws.GetRow(rowIndex + 23).GetCell(2).CellStyle = style2; + ws.GetRow(rowIndex + 23).GetCell(2).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:"); + ws.GetRow(rowIndex + 23).GetCell(6).CellStyle = style2; + ws.GetRow(rowIndex + 23).GetCell(6).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 班(组)长:\n Leader:\n\n 日期Date:"); #endregion @@ -6394,8 +6609,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("临时加固措施、盲板位置与标识符和施工方案要求。Temporary reinforcement measures, blind position and markings must be incompliance with Specification."); ws.GetRow(rowIndex + 17).GetCell(0).CellStyle = style2; ws.GetRow(rowIndex + 17).GetCell(0).SetCellValue("焊接接头及需要检验的部位未被覆盖。Welds and other positions to be tested have not yet been painted and heat-insulated."); - ws.GetRow(rowIndex + 18).GetCell(0).CellStyle = style2; - ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("试压用压力表量程、精度等级、检定状态符合规范要求。Scale, accuracy and calibration state of test use pressure gauge must be incompliance with specification. "); + ws.GetRow(rowIndex + 23).GetCell(0).CellStyle = style2; + ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("试压用压力表量程、精度等级、检定状态符合规范要求。Scale, accuracy and calibration state of test use pressure gauge must be incompliance with specification. "); ws.GetRow(rowIndex + 19).GetCell(0).CellStyle = style2; ws.GetRow(rowIndex + 19).GetCell(0).SetCellValue("不锈钢管道试验用水符合规范要求。Test use water of stainless steel pipline must be incompliance with specification."); @@ -6687,7 +6902,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("所有的阀门涂油脂和试压已经完成。All valves have been greased and stroked."); ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("螺纹连接根据规范要求进行。Compound on screwed connections in accordance with specification."); ws.GetRow(rowIndex + 17).GetCell(0).SetCellValue("安装所有的制动装置和联动装置。All locking device/interlocks installed."); - ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("检查和确定弹簧支架、滑动支架装置。Spring Support,Gags removed&support settings confirmed/Checked."); + ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("检查和确定弹簧支架、滑动支架装置。Spring Support,Gags removed&support settings confirmed/Checked."); ws.GetRow(rowIndex + 19).GetCell(0).SetCellValue("如果需要,释放给化学清洗、油洗。System released for chemical cleaning /hot oil flushing ,if required."); #endregion @@ -6974,7 +7189,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage { hssfworkbook = (XSSFWorkbook)WorkbookFactory.Create(file); } - + //操作目录模版sheet是否存在,不存在就把对应的sheet删除掉(特殊处理) int index = 0; if (!templateFileIds.Contains("2BEFB0F4-A466-4C59-963F-9092BACF2E52")) @@ -7009,7 +7224,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage continue; switch (templateFileId) { - + //6-TP-05-P&ID清单UG-FW-001 模版 case "811EF650-7686-447F-BEE8-776D50041CD0": XSSFSheet sheet6 = (XSSFSheet)hssfworkbook.CreateSheet(oneTemp.Title);