diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs index 2ef43b9..d673a15 100644 --- a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs +++ b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs @@ -7,6 +7,7 @@ using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; +using System.Runtime.InteropServices; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; @@ -4733,206 +4734,261 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage private void template24(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 < 8 ? 1 : Math.Ceiling((float)(tbNum - 8) / 8) + 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 头部 - var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Right, 10, true, false, "Arial Unicode MS"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style1, 0, 20, true); - - //设置行宽度 - ws.SetColumnWidth(0, 13 * 256); - ws.SetColumnWidth(1, 3 * 256); - ws.SetColumnWidth(2, 10 * 256); - for (int i = 3; i < 20; i++) + for (int num = 1; num <= pageNum; num++) { - ws.SetColumnWidth(1, 3 * 256); - } - ws.SetColumnWidth(20, 23 * 256); + var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, true, false, "Arial Unicode MS"); - //设置行高度 - ws.GetRow(rowIndex).Height = 10 * 20; - ws.GetRow(rowIndex).GetCell(20).CellStyle = style1; - ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-10"); + #region 头部 + var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Right, 9, true, false, "Arial Unicode MS"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style1, 0, 20, true); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style, 0, 20, true); - //设置行高度 - ws.GetRow(rowIndex + 1).Height = 10 * 20 * 9; - ws.GetRow(rowIndex + 2).Height = 10 * 20 * 3; + //设置行宽度 + ws.SetColumnWidth(0, 13 * 256);//A + ws.SetColumnWidth(1, 2 * 256);//B + ws.SetColumnWidth(2, 7 * 256);//C + ws.SetColumnWidth(3, 5 * 256);//D + ws.SetColumnWidth(4, 4 * 256);//E + ws.SetColumnWidth(5, 5 * 256);//F + ws.SetColumnWidth(6, 6 * 256);//G + ws.SetColumnWidth(7, 6 * 256);//H + ws.SetColumnWidth(8, 6 * 256);//I + ws.SetColumnWidth(9, 5 * 256);//J + ws.SetColumnWidth(10, 5 * 256);//K + ws.SetColumnWidth(11, 5 * 256);//L + ws.SetColumnWidth(12, 7 * 256);//M + ws.SetColumnWidth(13, 5 * 256);//N + ws.SetColumnWidth(14, 5 * 256);//O + ws.SetColumnWidth(15, 5 * 256);//P + ws.SetColumnWidth(16, 5 * 256);//Q + ws.SetColumnWidth(17, 6 * 256);//R + ws.SetColumnWidth(18, 6 * 256);//S + ws.SetColumnWidth(19, 6 * 256);//T + ws.SetColumnWidth(20, 13 * 256);//U - //合并单元格和填充文本 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 2)); - ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue(""); + //设置行高度 + ws.GetRow(rowIndex).HeightInPoints = 10f; + ws.GetRow(rowIndex).GetCell(20).CellStyle = style1; + ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-10"); - var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17)); - ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style3; - ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("管道焊接接头渗透/磁粉检测比例确认表(一)\nPipeline Welding Joints Penetrant/Magnetic Examination Rate Confirmation Form(I)\n共 1 页 第 1 页"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style, 0, 20, true); + //设置行高度 + ws.GetRow(rowIndex + 1).HeightInPoints = 90f; + ws.GetRow(rowIndex + 2).HeightInPoints = 30f; - var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false, "Arial Unicode MS"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20)); - ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = style2; - ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"\n工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单元名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}"); + //合并单元格和填充文本 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 2)); + ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue(""); - ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("执行标准\nApplicable code"); + var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 13, true, true, "Arial Unicode MS"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17)); + ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style3; + ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue($"管道焊接接头渗透/磁粉检测比例确认表(一)\nPipeline Welding Joints Penetrant/Magnetic Examination Rate Confirmation Form(I)\n共 {pageNum} 页 第 {num} 页"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 1, 5)); - ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("NB/T47013.3-2015"); + var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 9, true, false, "Arial Unicode MS"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20)); + ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = style2; + ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"\n工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单元名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 6, 7)); - ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检测方法\nExam. Method"); + ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("执行标准\nApplicable code"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 15)); - ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("渗透检测\nPT"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 1, 5)); + ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("NB/T47013.3-2015"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 17)); - ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("检测比例\nExam. Rate"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 6, 7)); + ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检测方法\nExam. Method"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20)); - ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("95%"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 15)); + ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("渗透检测\nPT"); - #endregion + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 17)); + ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("检测比例\nExam. Rate"); - #region 表格部分 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20)); + ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("95%"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 0, 20, true); - //设置高度和合并列填充文本 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 1)); - ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("管道编号\nPipeline No."); + #endregion - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 2, 2)); - ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("材质\nMaterial"); + #region 表格部分 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 4)); - ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("规 格/Size\n mm"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 0, 20, true); + //设置高度和合并列填充文本 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 1)); + ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("管道编号\nPipeline No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 8)); - ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("管道焊接接头\nWelding Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 2, 2)); + ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("材质\nMaterial"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 9, 12)); - ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("施焊焊工\nWelder"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 4)); + ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("规 格/Size\n mm"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 13, 16)); - ws.GetRow(rowIndex + 3).GetCell(13).SetCellValue("检测焊接接头\nExanined Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 8)); + ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("管道焊接接头\nWelding Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 6)); - ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("总数\nTotal"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 9, 12)); + ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("施焊焊工\nWelder"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 8)); - ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("固定口数\nField Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 13, 16)); + ws.GetRow(rowIndex + 3).GetCell(13).SetCellValue("检测焊接接头\nExanined Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 10)); - ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊工代号\nWelder No."); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 6)); + ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("总数\nTotal"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12)); - ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("施焊数量\nWelded Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 8)); + ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("固定口数\nField Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 13, 14)); - ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("总数\nTotal Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 10)); + ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊工代号\nWelder No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 16)); - ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("固定口数\nField Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12)); + ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("施焊数量\nWelded Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 17, 19)); - ws.GetRow(rowIndex + 3).GetCell(17).SetCellValue("实际检测比例\nActual exam. Rate"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 13, 14)); + ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("总数\nTotal Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 20, 20)); - ws.GetRow(rowIndex + 3).GetCell(20).SetCellValue("检测报告编号\nExamination Report No."); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 16)); + ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("固定口数\nField Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 17, 19)); + ws.GetRow(rowIndex + 3).GetCell(17).SetCellValue("实际检测比例\nActual exam. Rate"); - for (int i = 3; i < 14; i++) - { - if (i == 3 || i == 4) + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 20, 20)); + ws.GetRow(rowIndex + 3).GetCell(20).SetCellValue("检测报告编号\nExamination Report No."); + + var dStart = 0; + var dEnd = 0; + if (num == 1) { - ws.GetRow(rowIndex + i).Height = 30 * 20; - continue; + dStart = 0; + dEnd = 8; } - - if (i == 13) - ws.GetRow(rowIndex + i).Height = 30 * 20; else - ws.GetRow(rowIndex + i).Height = 19 * 20; + { + dStart = num == 2 ? 8 : ((num - 2) * 8) + 8; + dEnd = ((num - 1) * 8) + 8; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1)); - 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)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19)); + int j = 0; + for (int i = 3; i < 14; i++) + { + if (i == 3 || i == 4) + { + ws.GetRow(rowIndex + i).HeightInPoints = 30f; + continue; + } + if (i == 13) + { + ws.GetRow(rowIndex + i).HeightInPoints = 30f; + } + else + { + ws.GetRow(rowIndex + i).HeightInPoints = 17f; + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(0).SetCellValue("模拟数据"); + } + j++; + } + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1)); + 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)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19)); + } + ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal"); + + #endregion + + #region 尾部 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 0, 20, true); + //设置行高 + ws.GetRow(rowIndex + 14).HeightInPoints = 30f; + ws.GetRow(rowIndex + 15).HeightInPoints = 30f; + ws.GetRow(rowIndex + 16).HeightInPoints = 125f; + + ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\nRemark"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20)); + + ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2; + ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints."); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3)); + ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建 设 / 监 理 单 位\nOwner/JianLi Company"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9)); + ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总 承 包 单 位\nGeneral Contractor"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16)); + ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\nExamination Contractor"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20)); + ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\nConstruction Company"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3)); + ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2; + ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9)); + ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2; + ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16)); + ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2; + ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20)); + ws.GetRow(rowIndex + 16).GetCell(17).CellStyle = style2; + ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\n Discipline Engineer: \n 质量检查员:\n Quality Inspector:\n 制表:\n\n Prepared:\n 日期Date: 年 月 日"); + + #endregion + + rowIndex += 17; } - ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal"); - #endregion - #region 尾部 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 0, 20, true); - //设置行高 - ws.GetRow(rowIndex + 14).Height = 20 * 20 * 2; - ws.GetRow(rowIndex + 15).Height = 20 * 20 * 2; - ws.GetRow(rowIndex + 16).Height = 20 * 20 * 7; - - ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\nRemark"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20)); - - ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2; - ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints."); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3)); - ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建 设 / 监 理 单 位\nOwner/JianLi Company"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9)); - ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总 承 包 单 位\nGeneral Contractor"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16)); - ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\nExamination Contractor"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20)); - ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\nConstruction Company"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3)); - ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2; - ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9)); - ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2; - ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16)); - ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2; - ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20)); - ws.GetRow(rowIndex + 16).GetCell(17).CellStyle = style2; - ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 制表:\n Prepared:\n\n 日期Date: 年 月 日"); - - #endregion - - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; - ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - - ws.FitToPage = true; - - //水平垂直居中 - ws.HorizontallyCenter = true; - ws.VerticallyCenter = 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.HorizontallyCenter = true; + //ws.VerticallyCenter = 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); } @@ -4940,206 +4996,265 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage private void template25_1(XSSFWorkbook hssfworkbook, XSSFSheet ws) { var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID); - 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 头部 - var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Right, 10, true, false, "Arial Unicode MS"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style1, 0, 20, true); + //模拟数据 + 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); - //设置行宽度 - ws.SetColumnWidth(0, 13 * 256); - ws.SetColumnWidth(1, 3 * 256); - ws.SetColumnWidth(2, 10 * 256); - for (int i = 3; i < 20; i++) + var tbNum = dt.Rows.Count; + var pageNum = tbNum < 8 ? 1 : Math.Ceiling((float)(tbNum - 8) / 8) + 1; + + int rowIndex = 0; + for (int num = 1; num <= pageNum; num++) { - ws.SetColumnWidth(1, 3 * 256); - } - ws.SetColumnWidth(20, 23 * 256); - //设置行高度 - ws.GetRow(rowIndex).Height = 10 * 20; - ws.GetRow(rowIndex).GetCell(20).CellStyle = style1; - ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-10"); + #region 头部 + var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Right, 9, true, false, "Arial Unicode MS"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style1, 0, 20, true); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style, 0, 20, true); - //设置行高度 - ws.GetRow(rowIndex + 1).Height = 10 * 20 * 9; - ws.GetRow(rowIndex + 2).Height = 10 * 20 * 3; + //设置行宽度 + ws.SetColumnWidth(0, 13 * 256);//A + ws.SetColumnWidth(1, 2 * 256);//B + ws.SetColumnWidth(2, 7 * 256);//C + ws.SetColumnWidth(3, 5 * 256);//D + ws.SetColumnWidth(4, 4 * 256);//E + ws.SetColumnWidth(5, 5 * 256);//F + ws.SetColumnWidth(6, 6 * 256);//G + ws.SetColumnWidth(7, 6 * 256);//H + ws.SetColumnWidth(8, 6 * 256);//I + ws.SetColumnWidth(9, 5 * 256);//J + ws.SetColumnWidth(10, 5 * 256);//K + ws.SetColumnWidth(11, 5 * 256);//L + ws.SetColumnWidth(12, 7 * 256);//M + ws.SetColumnWidth(13, 5 * 256);//N + ws.SetColumnWidth(14, 5 * 256);//O + ws.SetColumnWidth(15, 5 * 256);//P + ws.SetColumnWidth(16, 5 * 256);//Q + ws.SetColumnWidth(17, 6 * 256);//R + ws.SetColumnWidth(18, 6 * 256);//S + ws.SetColumnWidth(19, 6 * 256);//T + ws.SetColumnWidth(20, 13 * 256);//U - //合并单元格和填充文本 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 2)); - ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue(""); + //设置行高度 + ws.GetRow(rowIndex).HeightInPoints = 10f; + ws.GetRow(rowIndex).GetCell(20).CellStyle = style1; + ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-10"); - var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17)); - ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style3; - ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("管道焊接接头PMI检测比例确认表(一)\nPipeline Welding Joints PMI Examination Rate Confirmation Form(I)\n共 1 页 第 1 页"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style, 0, 20, true); + //设置行高度 + ws.GetRow(rowIndex + 1).HeightInPoints = 90f; + ws.GetRow(rowIndex + 2).HeightInPoints = 30f; - var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false, "Arial Unicode MS"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20)); - ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = style2; - ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"\n工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单元名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}"); + //合并单元格和填充文本 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 2)); + ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue(""); - ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("执行标准\nApplicable code"); + var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 13, true, true, "Arial Unicode MS"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17)); + ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style3; + ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue($"管道焊接接头PMI检测比例确认表(一)\nPipeline Welding Joints PMI Examination Rate Confirmation Form(I)\n共 {pageNum} 页 第 {num} 页"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 1, 5)); - ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue(""); + var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 9, true, false, "Arial Unicode MS"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20)); + ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = style2; + ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"\n工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单元名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 6, 7)); - ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检测方法\nExam. Method"); + ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("执行标准\nApplicable code"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 15)); - ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("PMI检测"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 1, 5)); + ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue(""); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 17)); - ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("检测比例\nExam. Rate"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 6, 7)); + ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检测方法\nExam. Method"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20)); - ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("2%"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 15)); + ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("PMI检测"); - #endregion + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 17)); + ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("检测比例\nExam. Rate"); - #region 表格部分 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20)); + ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("2%"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 0, 20, true); - //设置高度和合并列填充文本 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 1)); - ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("管道编号\nPipeline No."); + #endregion - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 2, 2)); - ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("材质\nMaterial"); + #region 表格部分 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 4)); - ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("规 格/Size\n mm"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 0, 20, true); + //设置高度和合并列填充文本 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 1)); + ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("管道编号\nPipeline No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 8)); - ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("管道焊接接头\nWelding Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 2, 2)); + ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("材质\nMaterial"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 9, 12)); - ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("施焊焊工\nWelder"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 4)); + ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("规 格/Size\n mm"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 13, 16)); - ws.GetRow(rowIndex + 3).GetCell(13).SetCellValue("检测焊接接头\nExanined Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 8)); + ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("管道焊接接头\nWelding Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 6)); - ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("总数\nTotal"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 9, 12)); + ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("施焊焊工\nWelder"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 8)); - ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("固定口数\nField Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 13, 16)); + ws.GetRow(rowIndex + 3).GetCell(13).SetCellValue("检测焊接接头\nExanined Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 10)); - ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊工代号\nWelder No."); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 6)); + ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("总数\nTotal"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12)); - ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("施焊数量\nWelded Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 8)); + ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("固定口数\nField Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 13, 14)); - ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("总数\nTotal Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 10)); + ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊工代号\nWelder No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 16)); - ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("固定口数\nField Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12)); + ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("施焊数量\nWelded Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 17, 19)); - ws.GetRow(rowIndex + 3).GetCell(17).SetCellValue("实际检测比例\nActual exam. Rate"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 13, 14)); + ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("总数\nTotal Joints"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 20, 20)); - ws.GetRow(rowIndex + 3).GetCell(20).SetCellValue("检测报告编号\nExamination Report No."); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 16)); + ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("固定口数\nField Joints"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 17, 19)); + ws.GetRow(rowIndex + 3).GetCell(17).SetCellValue("实际检测比例\nActual exam. Rate"); - for (int i = 3; i < 14; i++) - { - if (i == 3 || i == 4) + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 20, 20)); + ws.GetRow(rowIndex + 3).GetCell(20).SetCellValue("检测报告编号\nExamination Report No."); + + var dStart = 0; + var dEnd = 0; + if (num == 1) { - ws.GetRow(rowIndex + i).Height = 30 * 20; - continue; + dStart = 0; + dEnd = 8; + } + else + { + dStart = num == 2 ? 8 : ((num - 2) * 8) + 8; + dEnd = ((num - 1) * 8) + 8; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); + int j = 0; + for (int i = 3; i < 14; i++) + { + if (i == 3 || i == 4) + { + ws.GetRow(rowIndex + i).HeightInPoints = 30f; + continue; + } + + if (i == 13) + { + ws.GetRow(rowIndex + i).HeightInPoints = 30f; + } + else + { + ws.GetRow(rowIndex + i).HeightInPoints = 17f; + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(0).SetCellValue("模拟数据"); + } + j++; + } + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1)); + 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)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19)); } - if (i == 13) - ws.GetRow(rowIndex + i).Height = 30 * 20; - else - ws.GetRow(rowIndex + i).Height = 19 * 20; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1)); - 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)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19)); + + ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal"); + #endregion + + #region 尾部 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 0, 20, true); + //设置行高 + ws.GetRow(rowIndex + 14).HeightInPoints = 30f; + ws.GetRow(rowIndex + 15).HeightInPoints = 30f; + ws.GetRow(rowIndex + 16).HeightInPoints = 125f; + + ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\nRemark"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20)); + + ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2; + ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints."); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3)); + ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建 设 / 监 理 单 位\nOwner/JianLi Company"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9)); + ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总 承 包 单 位\nGeneral Contractor"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16)); + ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\nExamination Contractor"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20)); + ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\nConstruction Company"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3)); + ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2; + ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9)); + ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2; + ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16)); + ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2; + ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20)); + ws.GetRow(rowIndex + 16).GetCell(17).CellStyle = style2; + ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\n Discipline Engineer: \n 质量检查员:\n Quality Inspector:\n 制表:\n\n Prepared:\n 日期Date: 年 月 日"); + + #endregion + + rowIndex += 17; } - ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal"); - #endregion - #region 尾部 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 0, 20, true); - //设置行高 - ws.GetRow(rowIndex + 14).Height = 20 * 20 * 2; - ws.GetRow(rowIndex + 15).Height = 20 * 20 * 2; - ws.GetRow(rowIndex + 16).Height = 20 * 20 * 7; - - ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\nRemark"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20)); - - ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2; - ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints."); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3)); - ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建 设 / 监 理 单 位\nOwner/JianLi Company"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9)); - ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总 承 包 单 位\nGeneral Contractor"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16)); - ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\nExamination Contractor"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20)); - ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\nConstruction Company"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3)); - ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2; - ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9)); - ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2; - ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16)); - ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2; - ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20)); - ws.GetRow(rowIndex + 16).GetCell(17).CellStyle = style2; - ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 制表:\n Prepared:\n\n 日期Date: 年 月 日"); - - #endregion - - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; - ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - - ws.FitToPage = true; - - //水平垂直居中 - ws.HorizontallyCenter = true; - ws.VerticallyCenter = 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.HorizontallyCenter = true; + //ws.VerticallyCenter = 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); } @@ -5148,76 +5263,77 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage { var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID); 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"); string sql = @"SELECT ROW_NUMBER() OVER(ORDER BY c.PipelineCode,c.WeldJointCode) AS Number, - c.PipelineCode,c.WeldJointCode, c.WelderCode,'/' AS PointBatchCode, '/' AS Remark, - (CASE WHEN c.DetectionTypeCode='RT' THEN c.NDEReportNo ELSE '' END) AS RTNDEReportNo, - (CASE WHEN c.DetectionTypeCode='RT' THEN c.CheckResult ELSE '' END) AS RTCheckResult, - (CASE WHEN c.DetectionTypeCode<>'RT' THEN c.NDEReportNo ELSE '' END) AS PTNDEReportNo, - (CASE WHEN c.DetectionTypeCode<>'RT' THEN c.CheckResult ELSE '' END) AS PTCheckResult - FROM dbo.View_CheckResultSummary c - WHERE c.WeldJointId IN - (SELECT - c.WeldJointId - FROM dbo.PTP_TestPackage AS a - INNER JOIN dbo.PTP_PipelineList AS b - ON a.PTP_ID=b.PTP_ID - LEFT JOIN dbo.Pipeline_WeldJoint AS C - ON b.PipelineId=c.PipelineId - WHERE b.isAll=1 AND a.PTP_ID=@PTPID and a.ProjectId=@ProjectId -- 传试压包ID参数 - UNION ALL - SELECT - c.WeldJointId - FROM dbo.PTP_TestPackage AS a - INNER JOIN dbo.PTP_PipelineList AS b - ON a.PTP_ID=b.PTP_ID - LEFT JOIN dbo.Pipeline_WeldJoint AS C - ON b.PipelineId=c.PipelineId - WHERE b.isAll=0 AND a.PTP_ID=@PTPID and a.ProjectId=@ProjectId -- 传试压包ID参数 - AND PATINDEX('%'+c.WeldJointCode+'%',b.WeldJonintCode)>0) - "; + c.PipelineCode,c.WeldJointCode, c.WelderCode,'/' AS PointBatchCode, '/' AS Remark, + (CASE WHEN c.DetectionTypeCode='RT' THEN c.NDEReportNo ELSE '' END) AS RTNDEReportNo, + (CASE WHEN c.DetectionTypeCode='RT' THEN c.CheckResult ELSE '' END) AS RTCheckResult, + (CASE WHEN c.DetectionTypeCode<>'RT' THEN c.NDEReportNo ELSE '' END) AS PTNDEReportNo, + (CASE WHEN c.DetectionTypeCode<>'RT' THEN c.CheckResult ELSE '' END) AS PTCheckResult + FROM dbo.View_CheckResultSummary c + WHERE c.WeldJointId IN + (SELECT + c.WeldJointId + FROM dbo.PTP_TestPackage AS a + INNER JOIN dbo.PTP_PipelineList AS b + ON a.PTP_ID=b.PTP_ID + LEFT JOIN dbo.Pipeline_WeldJoint AS C + ON b.PipelineId=c.PipelineId + WHERE b.isAll=1 AND a.PTP_ID=@PTPID and a.ProjectId=@ProjectId -- 传试压包ID参数 + UNION ALL + SELECT + c.WeldJointId + FROM dbo.PTP_TestPackage AS a + INNER JOIN dbo.PTP_PipelineList AS b + ON a.PTP_ID=b.PTP_ID + LEFT JOIN dbo.Pipeline_WeldJoint AS C + ON b.PipelineId=c.PipelineId + WHERE b.isAll=0 AND a.PTP_ID=@PTPID and a.ProjectId=@ProjectId -- 传试压包ID参数 + AND PATINDEX('%'+c.WeldJointCode+'%',b.WeldJonintCode)>0) + "; SqlParameter[] parms = { - new SqlParameter("@PTPID",this.tvControlItem.SelectedNodeID), - new SqlParameter("@ProjectId",this.CurrUser.LoginProjectId) - }; + new SqlParameter("@PTPID",this.tvControlItem.SelectedNodeID), + new SqlParameter("@ProjectId",this.CurrUser.LoginProjectId) + }; DataTable tb = SQLHelper.GetDataTableRunText(sql, parms); - - var tbNum = tb.Rows.Count; var pageNum = tbNum < 5 ? 1 : Math.Ceiling((float)(tbNum - 5) / 5) + 1; + for (int i = 1; i <= pageNum; 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 + 1, rowIndex + 3, style, 1, 18, true); - ws.SetColumnWidth(0, 2 * 256); - ws.SetColumnWidth(1, 10 * 256); - ws.SetColumnWidth(2, 8 * 256); - ws.SetColumnWidth(3, 8 * 256); - ws.SetColumnWidth(4, 8 * 256); - ws.SetColumnWidth(5, 8 * 256); - ws.SetColumnWidth(6, 10 * 256); - ws.SetColumnWidth(7, 8 * 256); - ws.SetColumnWidth(8, 8 * 256); - ws.SetColumnWidth(9, 8 * 256); - ws.SetColumnWidth(10, 8 * 256); - ws.SetColumnWidth(11, 10 * 256); - ws.SetColumnWidth(12, 8 * 256); - ws.SetColumnWidth(13, 8 * 256); - ws.SetColumnWidth(14, 8 * 256); - ws.SetColumnWidth(15, 10 * 256); - ws.SetColumnWidth(16, 8 * 256); - ws.SetColumnWidth(17, 8 * 256); - ws.SetColumnWidth(18, 10 * 256); - ws.GetRow(1).Height = 85 * 20; - ws.GetRow(2).Height = 20 * 20 * 2; - ws.GetRow(3).Height = 20 * 20 * 2; + ws.SetColumnWidth(0, 1 * 256);//A + ws.SetColumnWidth(1, 10 * 256);//B + ws.SetColumnWidth(2, 6 * 256);//C + ws.SetColumnWidth(3, 6 * 256);//D + ws.SetColumnWidth(4, 6 * 256);//E + ws.SetColumnWidth(5, 6 * 256);//F + ws.SetColumnWidth(6, 12 * 256);//G + ws.SetColumnWidth(7, 7 * 256);//H + ws.SetColumnWidth(8, 7 * 256);//I + ws.SetColumnWidth(9, 7 * 256);//J + ws.SetColumnWidth(10, 7 * 256);//K + ws.SetColumnWidth(11, 8 * 256);//L + ws.SetColumnWidth(12, 7 * 256);//M + ws.SetColumnWidth(13, 7 * 256);//N + ws.SetColumnWidth(14, 6 * 256);//O + ws.SetColumnWidth(15, 8 * 256);//P + ws.SetColumnWidth(16, 4 * 256);//Q + ws.SetColumnWidth(17, 5 * 256);//R + ws.SetColumnWidth(18, 8 * 256);//S + + ws.GetRow(rowIndex + 1).HeightInPoints = 85f; + ws.GetRow(rowIndex + 2).HeightInPoints = 35f; + ws.GetRow(rowIndex + 3).HeightInPoints = 35f; ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 5)); ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503-J412-1"); @@ -5225,7 +5341,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage 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.GetRow(rowIndex + 1).GetCell(6).CellStyle = style1; - ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("管道无损检测结果汇总表\nSummary of Piping NDT Results\n第 页 共 页 Page of "); + ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue($"管道无损检测结果汇总表\nSummary of Piping NDT Results\n第 {i} 页 共 {pageNum} 页 Page of "); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 14, 18)); 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"); @@ -5263,8 +5379,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 16, style, 1, 18, true); //第一部分表格部分 - ws.GetRow(rowIndex + 4).Height = 18 * 20 * 2; - ws.GetRow(rowIndex + 5).Height = 18 * 20 * 2; + ws.GetRow(rowIndex + 4).HeightInPoints = 36f; + ws.GetRow(rowIndex + 5).HeightInPoints = 36f; ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 1, 1)); ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("Test Method"); @@ -5304,7 +5420,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 8).GetCell(1).SetCellValue("MT"); ws.GetRow(rowIndex + 9).GetCell(1).SetCellValue("PT"); //第二部分表格部分 - ws.GetRow(rowIndex + 11).Height = 20 * 20 * 3; + ws.GetRow(rowIndex + 11).HeightInPoints = 60f; var qq = from x in Funs.DB.View_CheckResultSummary where x.PTP_ID == this.PTP_ID select x; @@ -5352,17 +5468,19 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage { nptz = nzpt.Count().ToString(); } + + for (int k = 6; k < 11; k++) { - ws.AddMergedRegion(new CellRangeAddress(k, k, 2, 3)); - ws.AddMergedRegion(new CellRangeAddress(k, k, 4, 5)); - ws.AddMergedRegion(new CellRangeAddress(k, k, 6, 7)); - ws.AddMergedRegion(new CellRangeAddress(k, k, 8, 9)); - ws.AddMergedRegion(new CellRangeAddress(k, k, 10, 11)); - ws.AddMergedRegion(new CellRangeAddress(k, k, 12, 13)); - ws.AddMergedRegion(new CellRangeAddress(k, k, 14, 15)); - ws.AddMergedRegion(new CellRangeAddress(k, k, 16, 18)); - ws.GetRow(k).Height = 18 * 20; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 2, 3)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 4, 5)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 6, 7)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 8, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 10, 11)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 12, 13)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 14, 15)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 16, 18)); + ws.GetRow(rowIndex + k).HeightInPoints = 18f; if (k == 10) break; //RT值 @@ -5455,8 +5573,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["RTNDEReportNo"].ToString()); ws.GetRow(dataIndex).GetCell(11).SetCellValue(dr["PTCheckResult"].ToString()); ws.GetRow(dataIndex).GetCell(12).SetCellValue(dr["PTNDEReportNo"].ToString()); - ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr[""].ToString()); - ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr[""].ToString()); + ws.GetRow(dataIndex).GetCell(14).SetCellValue(""); + ws.GetRow(dataIndex).GetCell(15).SetCellValue(""); ws.GetRow(dataIndex).GetCell(17).SetCellValue(dr["Remark"].ToString()); j++; } @@ -5466,7 +5584,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage 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 + 17, rowIndex + 17, style, 1, 18, true); - ws.GetRow(rowIndex + 17).Height = 20 * 20 * 5; + ws.GetRow(rowIndex + 17).HeightInPoints = 60f; var setStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS"); setStyle2.WrapText = true; @@ -5476,39 +5594,41 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue(" Responsible Inspector:"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 7, 12)); - ws.GetRow(rowIndex + 17).GetCell(7).SetCellValue(" Technical Superintendent:\n\n\n\n\n Quality Superintendent:"); + ws.GetRow(rowIndex + 17).GetCell(7).SetCellValue(" Technical Superintendent:\n\n Quality Superintendent:"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 13, 18)); - ws.GetRow(rowIndex + 17).GetCell(13).SetCellValue(" Inspection Agency: (Seal)\n\n\n\n\n Date:"); + ws.GetRow(rowIndex + 17).GetCell(13).SetCellValue(" Inspection Agency: (Seal)\n\n Date:"); #endregion + + rowIndex += 18; } - - - - - 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); } @@ -5516,186 +5636,236 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage private void template26(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) / 18) + 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 + 6, style, 1, 23, true); - ws.SetColumnWidth(0, 2 * 256); - ws.SetColumnWidth(1, 9 * 256); - ws.SetColumnWidth(2, 3 * 256); - ws.SetColumnWidth(3, 11 * 256); - ws.SetColumnWidth(4, 3 * 256); - ws.SetColumnWidth(5, 9 * 256); - ws.SetColumnWidth(6, 2 * 256); - ws.SetColumnWidth(7, 5 * 256); - ws.SetColumnWidth(8, 5 * 256); - ws.SetColumnWidth(9, 5 * 256); - ws.SetColumnWidth(10, 5 * 256); - ws.SetColumnWidth(11, 5 * 256); - ws.SetColumnWidth(12, 5 * 256); - ws.SetColumnWidth(13, 5 * 256); - ws.SetColumnWidth(14, 5 * 256); - ws.SetColumnWidth(15, 5 * 256); - ws.SetColumnWidth(16, 5 * 256); - ws.SetColumnWidth(17, 5 * 256); - ws.SetColumnWidth(18, 5 * 256); - ws.SetColumnWidth(19, 5 * 256); - ws.SetColumnWidth(20, 5 * 256); - ws.SetColumnWidth(21, 5 * 256); - ws.SetColumnWidth(22, 5 * 256); - ws.SetColumnWidth(23, 9 * 256); - - for (int i = 1; i < 6; i++) + for (int num = 1; num <= pageNum; num++) { - ws.GetRow(rowIndex + i).Height = 20 * 20; - } - ws.GetRow(rowIndex + 6).Height = 40 * 20; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 1, 3)); - ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503-J413-1"); + 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"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 4, 16)); - ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("管道无损检测数量统计表 ;\n Piping NDT Quantity Statistical From ;\n 第 页 共 页 Page of "); - var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); - ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = setStyle; + #region 头部 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 17, 23)); - ws.GetRow(rowIndex + 1).GetCell(17).SetCellValue($"工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单位工程名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}"); - var setStyle1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS"); - setStyle1.WrapText = true; - ws.GetRow(rowIndex + 1).GetCell(17).CellStyle = setStyle1; + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 6, style, 1, 23, true); + ws.SetColumnWidth(0, 2 * 256); + ws.SetColumnWidth(1, 9 * 256); + ws.SetColumnWidth(2, 3 * 256); + ws.SetColumnWidth(3, 11 * 256); + ws.SetColumnWidth(4, 3 * 256); + ws.SetColumnWidth(5, 9 * 256); + ws.SetColumnWidth(6, 2 * 256); + ws.SetColumnWidth(7, 5 * 256); + ws.SetColumnWidth(8, 5 * 256); + ws.SetColumnWidth(9, 5 * 256); + ws.SetColumnWidth(10, 5 * 256); + ws.SetColumnWidth(11, 5 * 256); + ws.SetColumnWidth(12, 5 * 256); + ws.SetColumnWidth(13, 5 * 256); + ws.SetColumnWidth(14, 5 * 256); + ws.SetColumnWidth(15, 5 * 256); + ws.SetColumnWidth(16, 5 * 256); + ws.SetColumnWidth(17, 5 * 256); + ws.SetColumnWidth(18, 5 * 256); + ws.SetColumnWidth(19, 5 * 256); + ws.SetColumnWidth(20, 5 * 256); + ws.SetColumnWidth(21, 5 * 256); + ws.SetColumnWidth(22, 5 * 256); + ws.SetColumnWidth(23, 9 * 256); - ws.GetRow(rowIndex + 6).GetCell(1).SetCellValue("Area No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 2, 3)); + for (int i = 1; i < 6; i++) + { + ws.GetRow(rowIndex + i).HeightInPoints = 16f; + } + ws.GetRow(rowIndex + 6).HeightInPoints = 30f; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 1, 3)); + ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503-J413-1"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 4, 5)); - ws.GetRow(rowIndex + 6).GetCell(4).SetCellValue("Test Type No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 6, 11)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 4, 16)); + string title = num == 1 ? $"管道无损检测数量统计表 ;\n Piping NDT Quantity Statistical From ;\n 第 {num} 页 共 {pageNum} 页 Page of " : $"管道无损检测数量统计表(续) ;\n Piping NDT Quantity Statistical From ;\n 第 {num} 页 共 {pageNum} 页 Page of "; + ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue(title); + var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); + ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = setStyle; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 12, 14)); - ws.GetRow(rowIndex + 6).GetCell(12).SetCellValue("Acceptance Criteria"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 15, 18)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 17, 23)); + ws.GetRow(rowIndex + 1).GetCell(17).SetCellValue($"工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单位工程名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}"); + var setStyle1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS"); + setStyle1.WrapText = true; + ws.GetRow(rowIndex + 1).GetCell(17).CellStyle = setStyle1; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 19, 20)); - ws.GetRow(rowIndex + 6).GetCell(19).SetCellValue("Test Criteria"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 21, 23)); + ws.GetRow(rowIndex + 6).GetCell(1).SetCellValue("Area No."); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 2, 3)); - #endregion + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 4, 5)); + ws.GetRow(rowIndex + 6).GetCell(4).SetCellValue("Test Type No."); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 6, 11)); - #region 表格部分 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 12, 14)); + ws.GetRow(rowIndex + 6).GetCell(12).SetCellValue("Acceptance Criteria"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 15, 18)); - 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 + 23, style, 1, 23, true); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 19, 20)); + ws.GetRow(rowIndex + 6).GetCell(19).SetCellValue("Test Criteria"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 21, 23)); - ws.GetRow(rowIndex + 7).Height = 30 * 20; - ws.GetRow(rowIndex + 8).Height = 40 * 20; + #endregion - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 1, 2)); - ws.GetRow(rowIndex + 7).GetCell(1).SetCellValue("Piping No."); + #region 表格部分 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 3, 4)); - ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("Included Line No."); + var rend = num == 1 ? 18 : 27; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 5, 6)); - ws.GetRow(rowIndex + 7).GetCell(5).SetCellValue("Test Percentage"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 7, 22)); - ws.GetRow(rowIndex + 7).GetCell(7).SetCellValue("Qualified Quantity"); + 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 + rend, style, 1, 23, true); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 8, 23, 23)); - ws.GetRow(rowIndex + 7).GetCell(23).SetCellValue("Remarks"); + ws.GetRow(rowIndex + 7).HeightInPoints = 20f; + ws.GetRow(rowIndex + 8).HeightInPoints = 30f; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 7, 11)); - ws.GetRow(rowIndex + 8).GetCell(7).SetCellValue("Butt-welded Joint"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 1, 2)); + ws.GetRow(rowIndex + 7).GetCell(1).SetCellValue("Piping No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 12, 14)); - ws.GetRow(rowIndex + 8).GetCell(12).SetCellValue("Fillet-welded Joint"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 3, 4)); + ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("Included Line No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 15, 19)); - ws.GetRow(rowIndex + 8).GetCell(15).SetCellValue("Branch Connection"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 5, 6)); + ws.GetRow(rowIndex + 7).GetCell(5).SetCellValue("Test Percentage"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 20, 22)); - ws.GetRow(rowIndex + 8).GetCell(20).SetCellValue("Groove & Others"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 7, 22)); + ws.GetRow(rowIndex + 7).GetCell(7).SetCellValue("Qualified Quantity"); - ws.GetRow(rowIndex + 9).GetCell(7).SetCellValue("Total"); - ws.GetRow(rowIndex + 9).GetCell(8).SetCellValue("RT"); - ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("UT"); - ws.GetRow(rowIndex + 9).GetCell(10).SetCellValue("MT"); - ws.GetRow(rowIndex + 9).GetCell(11).SetCellValue("PT"); - ws.GetRow(rowIndex + 9).GetCell(12).SetCellValue("Total"); - ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue("MT"); - ws.GetRow(rowIndex + 9).GetCell(14).SetCellValue("PT"); - ws.GetRow(rowIndex + 9).GetCell(15).SetCellValue("Total"); - ws.GetRow(rowIndex + 9).GetCell(16).SetCellValue("RT"); - ws.GetRow(rowIndex + 9).GetCell(17).SetCellValue("UT"); - ws.GetRow(rowIndex + 9).GetCell(18).SetCellValue("MT"); - ws.GetRow(rowIndex + 9).GetCell(19).SetCellValue("PT"); - ws.GetRow(rowIndex + 9).GetCell(20).SetCellValue("Total"); - ws.GetRow(rowIndex + 9).GetCell(21).SetCellValue("MT"); - ws.GetRow(rowIndex + 9).GetCell(22).SetCellValue("PT"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 8, 23, 23)); + ws.GetRow(rowIndex + 7).GetCell(23).SetCellValue("Remarks"); - for (int i = 10; i < 19; 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.GetRow(rowIndex + i).Height = 20 * 20; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 7, 11)); + ws.GetRow(rowIndex + 8).GetCell(7).SetCellValue("Butt-welded Joint"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 12, 14)); + ws.GetRow(rowIndex + 8).GetCell(12).SetCellValue("Fillet-welded Joint"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 15, 19)); + ws.GetRow(rowIndex + 8).GetCell(15).SetCellValue("Branch Connection"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 20, 22)); + ws.GetRow(rowIndex + 8).GetCell(20).SetCellValue("Groove & Others"); + + ws.GetRow(rowIndex + 9).GetCell(7).SetCellValue("Total"); + ws.GetRow(rowIndex + 9).GetCell(8).SetCellValue("RT"); + ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("UT"); + ws.GetRow(rowIndex + 9).GetCell(10).SetCellValue("MT"); + ws.GetRow(rowIndex + 9).GetCell(11).SetCellValue("PT"); + ws.GetRow(rowIndex + 9).GetCell(12).SetCellValue("Total"); + ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue("MT"); + ws.GetRow(rowIndex + 9).GetCell(14).SetCellValue("PT"); + ws.GetRow(rowIndex + 9).GetCell(15).SetCellValue("Total"); + ws.GetRow(rowIndex + 9).GetCell(16).SetCellValue("RT"); + ws.GetRow(rowIndex + 9).GetCell(17).SetCellValue("UT"); + ws.GetRow(rowIndex + 9).GetCell(18).SetCellValue("MT"); + ws.GetRow(rowIndex + 9).GetCell(19).SetCellValue("PT"); + ws.GetRow(rowIndex + 9).GetCell(20).SetCellValue("Total"); + ws.GetRow(rowIndex + 9).GetCell(21).SetCellValue("MT"); + ws.GetRow(rowIndex + 9).GetCell(22).SetCellValue("PT"); + + var dStart = 0; + var dEnd = 0; + if (num == 1) + { + dStart = 0; + dEnd = 9; + } + else + { + dStart = num == 2 ? 9 : ((num - 2) * 18) + 9; + dEnd = ((num - 1) * 18) + 9; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); + int j = 0; + + for (int i = 10; i <= rend; 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.GetRow(rowIndex + i).HeightInPoints = 18f; + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(1).SetCellValue("模拟数据"); + } + j++; + } + + #endregion + + + #region 尾部 + + if (num == 1) + { + 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 + 19, rowIndex + 20, style, 1, 23, true); + ws.GetRow(rowIndex + 19).HeightInPoints = 25f; + ws.GetRow(rowIndex + 20).Height = 20 * 20 * 7; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 1, 7)); + ws.GetRow(rowIndex + 19).GetCell(1).SetCellValue("Owner/Supervision Contractor"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 8, 15)); + ws.GetRow(rowIndex + 19).GetCell(8).SetCellValue("General Contractor"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 16, 23)); + ws.GetRow(rowIndex + 19).GetCell(16).SetCellValue("Construction Contractor"); + + + var setStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS"); + setStyle2.WrapText = true; + ws.GetRow(rowIndex + 20).GetCell(1).CellStyle = ws.GetRow(rowIndex + 20).GetCell(8).CellStyle = ws.GetRow(rowIndex + 20).GetCell(16).CellStyle = setStyle2; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 1, 7)); + ws.GetRow(rowIndex + 20).GetCell(1).SetCellValue(" Discipline Engineer:\n\n\n\n\n\nDate:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 8, 15)); + ws.GetRow(rowIndex + 20).GetCell(8).SetCellValue(" Discipline Engineer:\n\n\n\n\n\n Date:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 16, 23)); + ws.GetRow(rowIndex + 20).GetCell(16).SetCellValue(" Quality Inspector: \n \n Discipline Engineer: \n\n From Prepared by:\n\n Date:"); + } + + #endregion + + + rowIndex += num == 1 ? 21 : 28; } - #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 + 19, rowIndex + 20, style, 1, 23, true); - ws.GetRow(rowIndex + 19).Height = 30 * 20; - ws.GetRow(rowIndex + 20).Height = 20 * 20 * 7; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 1, 7)); - ws.GetRow(rowIndex + 19).GetCell(1).SetCellValue("Owner/Supervision Contractor"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 8, 15)); - ws.GetRow(rowIndex + 19).GetCell(8).SetCellValue("General Contractor"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 16, 23)); - ws.GetRow(rowIndex + 19).GetCell(16).SetCellValue("Construction Contractor"); - - - var setStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS"); - setStyle2.WrapText = true; - ws.GetRow(rowIndex + 20).GetCell(1).CellStyle = ws.GetRow(rowIndex + 20).GetCell(8).CellStyle = ws.GetRow(rowIndex + 20).GetCell(16).CellStyle = setStyle2; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 1, 7)); - ws.GetRow(rowIndex + 20).GetCell(1).SetCellValue(" Discipline Engineer: \n \n \n \n \n \n \n \n Date:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 8, 15)); - ws.GetRow(rowIndex + 20).GetCell(8).SetCellValue(" Discipline Engineer: \n \n \n \n \n \n \n \n Date:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 16, 23)); - ws.GetRow(rowIndex + 20).GetCell(16).SetCellValue(" Quality Inspector: \n \n Discipline Engineer: \n \n From Prepared by: \n \n \n \n Date:"); - - #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); } @@ -5709,218 +5879,273 @@ 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 < 12 ? 1 : Math.Ceiling((float)(tbNum - 12) / 12) + 1; int rowIndex = 0; - var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, false, "Arial Unicode MS"); - - var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 12, true, false, "Arial Unicode MS"); - - var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true, "Arial Unicode MS"); - - var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 24, true, true, "Arial Unicode MS"); - #region 头部 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 7, style, 0, 24, true); - - //设置行高和列宽 - for (int i = 0; i < 23; i++) + for (int num = 1; num <= pageNum; num++) { - ws.SetColumnWidth(i, 7 * 256); - } - ws.SetColumnWidth(23, 6 * 256); - ws.SetColumnWidth(24, 6 * 256); + var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, false, "Arial Unicode MS"); - ws.GetRow(rowIndex).Height = 10 * 20; - ws.GetRow(rowIndex + 1).Height = 10 * 20 * 5; - ws.GetRow(rowIndex + 2).Height = 8 * 20; - ws.GetRow(rowIndex + 3).Height = 10 * 20 * 4; - ws.GetRow(rowIndex + 4).Height = 20 * 20; - ws.GetRow(rowIndex + 5).Height = 20 * 20; - ws.GetRow(rowIndex + 6).Height = 20 * 20; - ws.GetRow(rowIndex + 7).Height = 35 * 20; + var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 12, true, false, "Arial Unicode MS"); + + var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true, "Arial Unicode MS"); + + var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 24, true, true, "Arial Unicode MS"); + + #region 头部 + + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 7, style, 0, 24, true); + + //设置行高和列宽 + ws.SetColumnWidth(0, 5 * 256);//A + ws.SetColumnWidth(1, 5 * 256);//B + ws.SetColumnWidth(2, 6 * 256);//C + ws.SetColumnWidth(3, 2 * 256);//D + ws.SetColumnWidth(4, 5 * 256);//E + ws.SetColumnWidth(5, 6 * 256);//F + ws.SetColumnWidth(6, 6 * 256);//G + ws.SetColumnWidth(7, 4 * 256);//H + ws.SetColumnWidth(8, 5 * 256);//I + ws.SetColumnWidth(9, 5 * 256);//J + ws.SetColumnWidth(10, 5 * 256);//K + ws.SetColumnWidth(11, 5 * 256);//L + ws.SetColumnWidth(12, 4 * 256);//M + ws.SetColumnWidth(13, 5 * 256);//N + ws.SetColumnWidth(14, 5 * 256);//O + ws.SetColumnWidth(15, 5 * 256);//P + ws.SetColumnWidth(16, 6 * 256);//Q + ws.SetColumnWidth(17, 6 * 256);//R + ws.SetColumnWidth(18, 6 * 256);//S + ws.SetColumnWidth(19, 6 * 256);//T + ws.SetColumnWidth(20, 6 * 256);//U + ws.SetColumnWidth(21, 6 * 256);//V + ws.SetColumnWidth(22, 7 * 256);//W + ws.SetColumnWidth(23, 4 * 256);//X + ws.SetColumnWidth(24, 3 * 256);//Y + + ws.GetRow(rowIndex).HeightInPoints = 10f; + ws.GetRow(rowIndex + 1).HeightInPoints = 50f; + ws.GetRow(rowIndex + 2).HeightInPoints = 8f; + ws.GetRow(rowIndex + 3).HeightInPoints = 35f; + ws.GetRow(rowIndex + 4).HeightInPoints = 18f; + ws.GetRow(rowIndex + 5).HeightInPoints = 18f; + ws.GetRow(rowIndex + 6).HeightInPoints = 18f; + ws.GetRow(rowIndex + 7).HeightInPoints = 35f; + + //合并单元格和填充文本 + ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 22, 24)); + ws.GetRow(rowIndex).GetCell(22).SetCellValue("Form No. TP-11"); + ws.GetRow(rowIndex).GetCell(22).CellStyle = style1; + + //画线 + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex, rowIndex, 0, 24), ws); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 6, 18)); + ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("巴斯夫(广东)一体化项目\nBASF (Guangdong) Integrated Project"); + ws.GetRow(rowIndex + 1).GetCell(6).CellStyle = style3; + + //画线 + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 24), ws); + //画线 + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 0, 24), ws); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 6, 3, 15)); + ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("PUNCH LIST\n尾项清单"); + ws.GetRow(rowIndex + 3).GetCell(3).CellStyle = style4; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 16, 18)); + ws.GetRow(rowIndex + 3).GetCell(16).CellStyle = style1; + ws.GetRow(rowIndex + 3).GetCell(16).SetCellValue("项目/PROJECT"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 19, 24)); + ws.GetRow(rowIndex + 3).GetCell(19).CellStyle = style1; + ws.GetRow(rowIndex + 3).GetCell(19).SetCellValue("巴斯夫(广东)一体化项目\nBASF (Guangdong) Integrated Project"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 16, 18)); + ws.GetRow(rowIndex + 4).GetCell(16).CellStyle = style1; + ws.GetRow(rowIndex + 4).GetCell(16).SetCellValue("区域/AREA"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 19, 24)); + ws.GetRow(rowIndex + 4).GetCell(19).CellStyle = style1; + ws.GetRow(rowIndex + 4).GetCell(19).SetCellValue(info?.workAreaCode); - //合并单元格和填充文本 - ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 22, 24)); - ws.GetRow(rowIndex).GetCell(22).SetCellValue("Form No. TP-11"); - ws.GetRow(rowIndex).GetCell(22).CellStyle = style1; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 16, 18)); + ws.GetRow(rowIndex + 5).GetCell(16).CellStyle = style1; + ws.GetRow(rowIndex + 5).GetCell(16).SetCellValue("试压包号/TEST PACKAGE No."); - //画线 - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex, rowIndex, 0, 24), ws); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 19, 24)); + ws.GetRow(rowIndex + 5).GetCell(19).CellStyle = style1; + ws.GetRow(rowIndex + 5).GetCell(19).SetCellValue(info?.testpackageNo); + //画线 + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 6, rowIndex + 6, 0, 24), ws); + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 4, rowIndex + 4, 16, 24), ws); + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 3, rowIndex + 3, 16, 24), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 3, rowIndex + 6, 18, 18), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 3, rowIndex + 6, 15, 15), ws); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 6, 18)); - ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("巴斯夫(广东)一体化项目\nBASF (Guangdong) Integrated Project"); - ws.GetRow(rowIndex + 1).GetCell(6).CellStyle = style3; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 2)); + ws.GetRow(rowIndex + 7).GetCell(0).CellStyle = style1; + ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("系统号\nSYSTEM No."); - //画线 - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 24), ws); - //画线 - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 0, 24), ws); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 3, 15)); + ws.GetRow(rowIndex + 7).GetCell(3).CellStyle = style1; + ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("UG"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 6, 3, 15)); - ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("PUNCH LIST\n尾项清单"); - ws.GetRow(rowIndex + 3).GetCell(3).CellStyle = style4; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 16, 18)); + ws.GetRow(rowIndex + 7).GetCell(16).CellStyle = style1; + ws.GetRow(rowIndex + 7).GetCell(16).SetCellValue("子系统号\nSUB-SYSTEM No."); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 19, 24)); + ws.GetRow(rowIndex + 7).GetCell(19).CellStyle = style1; + ws.GetRow(rowIndex + 7).GetCell(19).SetCellValue("FW"); + //画线 + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 2, 2), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 15, 15), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 18, 18), ws); + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 24), ws); + //插入图片 + InsertImage(hssfworkbook, ws, rowIndex + 1, 1, rowIndex + 1, 2, img1, 1.8, 1); + InsertImage(hssfworkbook, ws, rowIndex + 1, 4, rowIndex + 1, 5, img2, 1.8, 1, 0, 1); + InsertImage(hssfworkbook, ws, rowIndex + 1, 19, rowIndex + 1, 20, img3, 1.8, 0.7, 0, 10); + InsertImage(hssfworkbook, ws, rowIndex + 1, 21, rowIndex + 1, 23, img4, 1.2, 0.9, 0, 5); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 16, 18)); - ws.GetRow(rowIndex + 3).GetCell(16).CellStyle = style1; - ws.GetRow(rowIndex + 3).GetCell(16).SetCellValue("项目/PROJECT"); + #endregion - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 19, 24)); - ws.GetRow(rowIndex + 3).GetCell(19).CellStyle = style1; - ws.GetRow(rowIndex + 3).GetCell(19).SetCellValue("巴斯夫(广东)一体化项目\nBASF (Guangdong) Integrated Project"); + #region 表格部分 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 16, 18)); - ws.GetRow(rowIndex + 4).GetCell(16).CellStyle = style1; - ws.GetRow(rowIndex + 4).GetCell(16).SetCellValue("区域/AREA"); + var style5 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 22, style5, 0, 24, true); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 19, 24)); - ws.GetRow(rowIndex + 4).GetCell(19).CellStyle = style1; - ws.GetRow(rowIndex + 4).GetCell(19).SetCellValue(info?.workAreaCode); + //设置行高 + ws.GetRow(rowIndex + 8).HeightInPoints = 30f; + ws.GetRow(rowIndex + 9).HeightInPoints = 30f; + ws.GetRow(rowIndex + 10).HeightInPoints = 40f; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 0, 0)); + ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("序号\nS/N"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 1, 5)); + ws.GetRow(rowIndex + 8).GetCell(1).SetCellValue("图纸号\nDrawing No."); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 6, 6)); + ws.GetRow(rowIndex + 8).GetCell(6).SetCellValue("版本\nRev No."); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 7, 15)); + ws.GetRow(rowIndex + 8).GetCell(7).SetCellValue("尾项描述\nPunch Description"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 16, 16)); + ws.GetRow(rowIndex + 8).GetCell(16).SetCellValue("尾项类别\n* Punch Category"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 9, 17, 18)); + ws.GetRow(rowIndex + 8).GetCell(17).SetCellValue("提出人\nOriginator"); + ws.GetRow(rowIndex + 10).GetCell(17).SetCellValue("姓名\nName"); + ws.GetRow(rowIndex + 10).GetCell(18).SetCellValue("单位\nCompany"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 19, 24)); + ws.GetRow(rowIndex + 8).GetCell(19).SetCellValue("尾项关闭\nRemedial Acceptance and Signature"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 19, 20)); + ws.GetRow(rowIndex + 9).GetCell(19).SetCellValue("CC7"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 21, 22)); + ws.GetRow(rowIndex + 9).GetCell(21).SetCellValue("Worley/BASF"); + + ws.GetRow(rowIndex + 10).GetCell(19).SetCellValue("签名\nSign"); + ws.GetRow(rowIndex + 10).GetCell(20).SetCellValue("日期Date"); + ws.GetRow(rowIndex + 10).GetCell(21).SetCellValue("签名\nSign"); + ws.GetRow(rowIndex + 10).GetCell(22).SetCellValue("日期Date"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 10, 23, 24)); + ws.GetRow(rowIndex + 9).GetCell(23).SetCellValue("Remark"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 16, 18)); - ws.GetRow(rowIndex + 5).GetCell(16).CellStyle = style1; - ws.GetRow(rowIndex + 5).GetCell(16).SetCellValue("试压包号/TEST PACKAGE No."); + var dStart = 0; + var dEnd = 0; + if (num == 1) + { + dStart = 0; + dEnd = 12; + } + else + { + dStart = num == 2 ? 12 : ((num - 2) * 12) + 12; + dEnd = ((num - 1) * 12) + 12; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); + int j = 0; + for (int i = 11; i < 23; i++) + { + ws.GetRow(rowIndex + i).HeightInPoints = 17f; + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 5)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 15)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 23, 24)); + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(1).SetCellValue(dr["PTP_ID"].ToString()); + } + j++; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 19, 24)); - ws.GetRow(rowIndex + 5).GetCell(19).CellStyle = style1; - ws.GetRow(rowIndex + 5).GetCell(19).SetCellValue(info?.testpackageNo); - //画线 - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 6, rowIndex + 6, 0, 24), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 4, rowIndex + 4, 16, 24), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 3, rowIndex + 3, 16, 24), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 3, rowIndex + 6, 18, 18), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 3, rowIndex + 6, 15, 15), ws); + } - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 2)); - ws.GetRow(rowIndex + 7).GetCell(0).CellStyle = style1; - ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("系统号\nSYSTEM No."); + #endregion - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 3, 15)); - ws.GetRow(rowIndex + 7).GetCell(3).CellStyle = style1; - ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("UG"); + #region 尾部 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 16, 18)); - ws.GetRow(rowIndex + 7).GetCell(16).CellStyle = style1; - ws.GetRow(rowIndex + 7).GetCell(16).SetCellValue("子系统号\nSUB-SYSTEM No."); + var style6 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 8, false, false, "Arial Unicode MS"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 23, rowIndex + 27, style6, 0, 24, true); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 19, 24)); - ws.GetRow(rowIndex + 7).GetCell(19).CellStyle = style1; - ws.GetRow(rowIndex + 7).GetCell(19).SetCellValue("FW"); - //画线 - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 2, 2), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 15, 15), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 18, 18), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 24), ws); + ws.GetRow(rowIndex + 23).HeightInPoints = 8f; + for (int i = 24; i < 28; i++) + { + ws.GetRow(rowIndex + i).HeightInPoints = 10f; + } + ws.GetRow(rowIndex + 24).GetCell(0).SetCellValue("LEGEND"); + ws.GetRow(rowIndex + 24).GetCell(1).SetCellValue(" N.A.: Not Applicable"); + ws.GetRow(rowIndex + 24).GetCell(10).SetCellValue("*PUNCH CATEGORY:"); + ws.GetRow(rowIndex + 25).GetCell(11).SetCellValue("A - PUNCH ITEM MUST BE COMPLETED BEFORE TESTING."); + ws.GetRow(rowIndex + 26).GetCell(11).SetCellValue("B - PUNCH ITEM TO BE COMPLETED AFTER TESTING BUT SHALL BE COMPLETED PRIOR TO SYSTEM TURN-OVER"); + ws.GetRow(rowIndex + 27).GetCell(11).SetCellValue("C - PUNCH ITEM TO BE COMPLETED AFTER SYSTEM TURNOVER."); + //划线 + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex, rowIndex + 23, 24, 24), ws); + #endregion - //插入图片 - InsertImage(hssfworkbook, ws, rowIndex + 1, 1, rowIndex + 1, 2, img1, 1.8, 1); - InsertImage(hssfworkbook, ws, rowIndex + 1, 4, rowIndex + 1, 5, img2, 1.8, 1, 0, 1); - InsertImage(hssfworkbook, ws, rowIndex + 1, 19, rowIndex + 1, 20, img3, 1.8, 0.7, 0, 10); - InsertImage(hssfworkbook, ws, rowIndex + 1, 21, rowIndex + 1, 23, img4, 1.2, 0.9, 0, 5); + rowIndex += 28; - #endregion - - #region 表格部分 - - var style5 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 25, style5, 0, 24, true); - - //设置行高 - ws.GetRow(rowIndex + 8).Height = 10 * 20 * 3; - ws.GetRow(rowIndex + 9).Height = 30 * 20; - ws.GetRow(rowIndex + 10).Height = 10 * 20 * 4; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 0, 0)); - ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("序号\nS/N"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 1, 5)); - ws.GetRow(rowIndex + 8).GetCell(1).SetCellValue("图纸号\nDrawing No."); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 6, 6)); - ws.GetRow(rowIndex + 8).GetCell(6).SetCellValue("版本\nRev No."); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 7, 15)); - ws.GetRow(rowIndex + 8).GetCell(7).SetCellValue("尾项描述\nPunch Description"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 16, 16)); - ws.GetRow(rowIndex + 8).GetCell(16).SetCellValue("尾项类别\n* Punch Category"); - - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 9, 17, 18)); - ws.GetRow(rowIndex + 8).GetCell(17).SetCellValue("提出人\nOriginator"); - ws.GetRow(rowIndex + 10).GetCell(17).SetCellValue("姓名\nName"); - ws.GetRow(rowIndex + 10).GetCell(18).SetCellValue("单位\nCompany"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 19, 24)); - ws.GetRow(rowIndex + 8).GetCell(19).SetCellValue("尾项关闭\nRemedial Acceptance and Signature"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 19, 20)); - ws.GetRow(rowIndex + 9).GetCell(19).SetCellValue("CC7"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 21, 22)); - ws.GetRow(rowIndex + 9).GetCell(21).SetCellValue("Worley/BASF"); - - ws.GetRow(rowIndex + 10).GetCell(19).SetCellValue("签名\nSign"); - ws.GetRow(rowIndex + 10).GetCell(20).SetCellValue("日期Date"); - ws.GetRow(rowIndex + 10).GetCell(21).SetCellValue("签名\nSign"); - ws.GetRow(rowIndex + 10).GetCell(22).SetCellValue("日期Date"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 10, 23, 24)); - ws.GetRow(rowIndex + 9).GetCell(23).SetCellValue("Remark"); - - for (int i = 11; i < 26; i++) - { - ws.GetRow(rowIndex + i).Height = 20 * 20; - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 5)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 15)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 23, 24)); } - #endregion - - #region 尾部 - - var style6 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 8, false, false, "Arial Unicode MS"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 26, rowIndex + 30, style6, 0, 24, true); - - ws.GetRow(rowIndex + 26).Height = 8 * 20; - for (int i = 27; i < 31; i++) - { - ws.GetRow(rowIndex + i).Height = 10 * 20; - } - ws.GetRow(rowIndex + 27).GetCell(0).SetCellValue("LEGEND"); - ws.GetRow(rowIndex + 27).GetCell(1).SetCellValue(" N.A.: Not Applicable"); - ws.GetRow(rowIndex + 27).GetCell(10).SetCellValue("*PUNCH CATEGORY:"); - ws.GetRow(rowIndex + 28).GetCell(11).SetCellValue("A - PUNCH ITEM MUST BE COMPLETED BEFORE TESTING."); - ws.GetRow(rowIndex + 29).GetCell(11).SetCellValue("B - PUNCH ITEM TO BE COMPLETED AFTER TESTING BUT SHALL BE COMPLETED PRIOR TO SYSTEM TURN-OVER"); - ws.GetRow(rowIndex + 30).GetCell(11).SetCellValue("C - PUNCH ITEM TO BE COMPLETED AFTER SYSTEM TURNOVER."); - - //划线 - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex, rowIndex + 25, 24, 24), ws); - #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); } //28-TP-12-试压用水(工具)检查清单UG-FW-001 @@ -5933,220 +6158,264 @@ 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 < 25 ? 1 : Math.Ceiling((float)(tbNum - 25) / 25) + 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(15).SetCellValue("Form No."); + ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06"); + //设置列宽度 + ws.SetColumnWidth(0, 1 * 256);//A + ws.SetColumnWidth(1, 1 * 256);//B + ws.SetColumnWidth(2, 4 * 256);//C + ws.SetColumnWidth(3, 5 * 256);//D + ws.SetColumnWidth(4, 5 * 256);//E + ws.SetColumnWidth(5, 2 * 256);//F + ws.SetColumnWidth(6, 5 * 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, 1 * 256);//M + ws.SetColumnWidth(13, 7 * 256);//N + ws.SetColumnWidth(14, 5 * 256);//O + ws.SetColumnWidth(15, 9 * 256);//P + ws.SetColumnWidth(16, 9 * 256);//Q + ws.SetColumnWidth(17, 1 * 256);//R + //设置前3行高度 + ws.GetRow(rowIndex + 0).HeightInPoints = 15f; + ws.GetRow(rowIndex + 1).HeightInPoints = 15f; + ws.GetRow(rowIndex + 2).HeightInPoints = 14f; + + //设置3-15行的行高度 + for (int i = rowIndex + 3; i < rowIndex + 15; i++) + { + ws.GetRow(i).HeightInPoints = 18f; + } + + 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("WATER(MACHINE) CALIBREATION LIST"); + 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 = 25; + } + else + { + dStart = num == 2 ? 25 : ((num - 2) * 25) + 25; + dEnd = ((num - 1) * 25) + 25; + } + var pageTb = GetPageToTable(dt, dStart, dEnd); + int j = 0; + for (int i = 15; i <= 40; i++) + { + ws.GetRow(rowIndex + i).HeightInPoints = 18f; + 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, 5)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 8)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 12)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16)); + + if (i > 15) + { + 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 + 15).HeightInPoints = 30f; + //数据表头部分 + ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号"); + ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Report Name\r\n报告名称"); + ws.GetRow(rowIndex + 15).GetCell(6).SetCellValue("Report No.\r\n报告编号"); + ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Date of Issue report\r\n报告出具日期"); + ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue("Expiry Date\r\n有效期"); + ws.GetRow(rowIndex + 15).GetCell(15).SetCellValue("Remark\r\n备注"); + + #endregion + + #region 尾部 + + //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。 + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 41, rowIndex + 46, style, 0, 17, true); + for (int i = rowIndex + 41; i <= rowIndex + 46; i++) + { + ws.GetRow(i).HeightInPoints = 14f; + 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 + 46).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); + } + ws.GetRow(rowIndex + 46).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None); + ws.GetRow(rowIndex + 46).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); + ws.GetRow(rowIndex + 46).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 2, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 5, 6)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 7, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 10, 13)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 14, 16)); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 44, 2, 4)); + ws.GetRow(rowIndex + 44).GetCell(2).SetCellValue("PREPARED"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 44, 5, 6)); + ws.GetRow(rowIndex + 44).GetCell(5).SetCellValue("REVIEW"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 45, 7, 9)); + ws.GetRow(rowIndex + 44).GetCell(7).SetCellValue("JIANLI"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 45, 10, 13)); + ws.GetRow(rowIndex + 44).GetCell(10).SetCellValue("Worley"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 45, 14, 16)); + ws.GetRow(rowIndex + 44).GetCell(14).SetCellValue("BASF"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 45, rowIndex + 45, 2, 6)); + ws.GetRow(rowIndex + 45).GetCell(2).SetCellValue("CC7"); + + #endregion + + rowIndex += 47; + } - 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("WATER(MACHINE) CALIBREATION LIST"); - 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 = 25 * 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, 5)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 8)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 12)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16)); - } - ws.GetRow(15).Height = 30 * 20; - //数据表头部分 - ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号"); - ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Report Name\r\n报告名称"); - ws.GetRow(rowIndex + 15).GetCell(6).SetCellValue("Report No.\r\n报告编号"); - ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Date of Issue report\r\n报告出具日期"); - ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue("Expiry Date\r\n有效期"); - ws.GetRow(rowIndex + 15).GetCell(15).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); }