diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs index 4306801..d927e89 100644 --- a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs +++ b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs @@ -664,7 +664,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage Alert.ShowInTop("请选择打印报表!", MessageBoxIcon.Warning); return; } - if (string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID) ) + if (string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { Alert.ShowInTop("请选择试压包!", MessageBoxIcon.Warning); return; @@ -1160,7 +1160,6 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage var img4 = Server.MapPath("~/res/images/bsf/4.png"); 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"); //查询数据 string sql = @"select * from ( @@ -1185,65 +1184,71 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage Pipeline_Pipeline as c on b.PipelineId=c.PipelineId left join Project_WorkArea as d on b.WorkAreaId=d.WorkAreaId ) as t where PTP_ID=@PTP_ID "; + SqlParameter[] parms = new SqlParameter[]{ new SqlParameter("@PTP_ID",this.tvControlItem.SelectedNodeID) }; + var dt = SQLHelper.GetDataTableRunText(sql, parms); //获取试压包第一行记录 - + #region 分页数据 var tbNum = dt.Rows.Count; - var pageNum =tbNum < 34 ? 1 - : Math.Ceiling((float)(tbNum - 34) / 34) + 1; + var pageNum = tbNum < 37 ? 1 + : Math.Ceiling((float)(tbNum - 37) / 37) + 1; for (int i = 1; i <= pageNum; i++) { + 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 + 15, style, 0, 17, true); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex, rowIndex, style, 0, 17, 13); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 1, rowIndex + 1, style, 0, 17, 4); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 2, rowIndex + 15, style, 0, 17, 13); ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No."); ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06"); #region 设置样式 //设置列宽度 - ws.SetColumnWidth(0, 3 * 256); - ws.SetColumnWidth(1, 3 * 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(0, 1 * 256); + ws.SetColumnWidth(1, 2 * 256); + ws.SetColumnWidth(2, 9 * 256); + ws.SetColumnWidth(3, 4 * 256); + ws.SetColumnWidth(4, 4 * 256); + ws.SetColumnWidth(5, 4 * 256); + ws.SetColumnWidth(6, 5 * 256); ws.SetColumnWidth(7, 4 * 256); - ws.SetColumnWidth(8, 8 * 256); - ws.SetColumnWidth(9, 8 * 256); - ws.SetColumnWidth(10, 8 * 256); - ws.SetColumnWidth(11, 8 * 256); - ws.SetColumnWidth(12, 1 * 256); - ws.SetColumnWidth(13, 9 * 256); - ws.SetColumnWidth(14, 10 * 256); - ws.SetColumnWidth(15, 10 * 256); - ws.SetColumnWidth(16, 10 * 256); - ws.SetColumnWidth(17, 3 * 256); + ws.SetColumnWidth(8, 4 * 256); + ws.SetColumnWidth(9, 4 * 256); + ws.SetColumnWidth(10, 4 * 256); + ws.SetColumnWidth(11, 4 * 256); + ws.SetColumnWidth(12, 4 * 256); + ws.SetColumnWidth(13, 4 * 256); + ws.SetColumnWidth(14, 8 * 256); + ws.SetColumnWidth(15, 9 * 256); + ws.SetColumnWidth(16, 9 * 256); + ws.SetColumnWidth(17, 2 * 256); //设置前3行高度 - ws.GetRow(rowIndex + 0).Height = 15 * 20; - ws.GetRow(rowIndex + 1).Height = 15 * 20; - ws.GetRow(rowIndex + 2).Height = 14 * 20; - ws.GetRow(rowIndex + 3).Height = 18 * 20; - ws.GetRow(rowIndex + 4).Height = 18 * 20; - ws.GetRow(rowIndex + 5).Height = 18 * 20; - ws.GetRow(rowIndex + 6).Height = 18 * 20; - ws.GetRow(rowIndex + 7).Height = 18 * 20; - ws.GetRow(rowIndex + 8).Height = 18 * 20; - ws.GetRow(rowIndex + 9).Height = 18 * 20; - ws.GetRow(rowIndex + 10).Height = 18 * 20; - ws.GetRow(rowIndex + 11).Height = 18 * 20; - ws.GetRow(rowIndex + 12).Height = 18 * 20; - ws.GetRow(rowIndex + 13).Height = 18 * 20; - ws.GetRow(rowIndex + 14).Height = 18 * 20; + //ws.GetRow(rowIndex + 0).Height = 15 * 20; + //ws.GetRow(rowIndex + 1).Height = 15 * 20; + //ws.GetRow(rowIndex + 2).Height = 14 * 20; + //ws.GetRow(rowIndex + 3).Height = 18 * 20; + //ws.GetRow(rowIndex + 4).Height = 18 * 20; + //ws.GetRow(rowIndex + 5).Height = 18 * 20; + //ws.GetRow(rowIndex + 6).Height = 18 * 20; + //ws.GetRow(rowIndex + 7).Height = 18 * 20; + //ws.GetRow(rowIndex + 8).Height = 18 * 20; + //ws.GetRow(rowIndex + 9).Height = 18 * 20; + //ws.GetRow(rowIndex + 10).Height = 18 * 20; + //ws.GetRow(rowIndex + 11).Height = 18 * 20; + //ws.GetRow(rowIndex + 12).Height = 18 * 20; + //ws.GetRow(rowIndex + 13).Height = 18 * 20; + //ws.GetRow(rowIndex + 14).Height = 18 * 20; - RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex+0, rowIndex+0, 1, 1), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex+1, rowIndex+1, 17, 17), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 0, rowIndex + 0, 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, 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); @@ -1261,14 +1266,14 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #endregion #region 插入图片 - InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8); - InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 10, 2, 30, 2); - InsertImage(hssfworkbook, ws, 3, 14, 4, 14, img3, 1.5, 2, 8, 2); - InsertImage(hssfworkbook, ws, 3, 15, 4, 15, img4, 3, 2, 35, 2); + InsertImage(hssfworkbook, ws, rowIndex + 3, 2, rowIndex + 4, 3, img1, 1.2, 1.8); + InsertImage(hssfworkbook, ws, rowIndex + 3, 3, rowIndex + 4, 4, img2, 10, 2, 30, 2); + InsertImage(hssfworkbook, ws, rowIndex + 3, 14, rowIndex + 4, 14, img3, 1.5, 2, 8, 2); + InsertImage(hssfworkbook, ws, rowIndex + 3, 15, rowIndex + 4, 15, img4, 3, 2, 35, 2); #endregion #region 试压包头部分 - + 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; @@ -1336,7 +1341,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #region 表格部分 //数据表头部分 ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13)); - ws.GetRow(rowIndex+15).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None); + ws.GetRow(rowIndex + 15).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None); ws.GetRow(rowIndex + 15).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); ws.GetRow(rowIndex + 15).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 3, 8)); @@ -1357,8 +1362,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注"); ws.GetRow(rowIndex + 15).Height = 40 * 20; - style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11,false, false, "Arial Unicode MS"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex+16, rowIndex + 50, style, 0, 17, true); + style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, false, false, "Arial Unicode MS"); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 16, rowIndex + 52, style, 0, 17, 13); var dataTit = rowIndex + 16; @@ -1367,27 +1372,34 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage if (i == 1) { dStart = 0; - dEnd = 34; + dEnd = 37; } else { - dStart = i == 2 ? 34 : ((i - 2) * 34) + 34; - dEnd = ((i - 1) * 34) + 34; + dStart = i == 2 ? 37 : ((i - 2) * 37) + 37; + dEnd = ((i - 1) * 37) + 37; } var pageTb = GetPageToTable(dt, dStart, dEnd); int nextRow = 0; int lastRow = 0; int j = 0; - foreach (DataRow dr in pageTb.Rows) + + for (int k = 0; k < 37; k++) { int dataIndex = dataTit + j; - ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}"); - ws.GetRow(dataIndex).GetCell(3).SetCellValue(""); - ws.GetRow(dataIndex).GetCell(9).SetCellValue(""); - ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["DrawingsNum"].ToString()); - ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["PageNum"].ToString()); - ws.GetRow(dataIndex).GetCell(16).SetCellValue(dr["Remark"].ToString()); - ws.GetRow(dataIndex).Height = 14 * 20; + + if (pageTb.Rows.Count > j) + { + DataRow dr = pageTb.Rows[j]; + ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}"); + ws.GetRow(dataIndex).GetCell(3).SetCellValue(""); + ws.GetRow(dataIndex).GetCell(9).SetCellValue(""); + ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["DrawingsNum"].ToString()); + ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["PageNum"].ToString()); + ws.GetRow(dataIndex).GetCell(16).SetCellValue(dr["Remark"].ToString()); + ws.GetRow(dataIndex).Height = 14 * 20; + } + ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 3, 8)); ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 9, 13)); ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); @@ -1402,119 +1414,157 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); nextRow = dataIndex; j++; + } - //如果pageData不满足33行数据的情况下,将设置剩余行高 - if (pageTb.Rows.Count < 34) - { - for (int k = 1; k <= 34 - pageTb.Rows.Count; k++) - { - int dataIndex = rowIndex + nextRow + k; - ws.GetRow(dataIndex).Height = 14 * 20; - ws.GetRow(dataIndex).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None); - ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); - ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); - ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 3, 8)); - ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 9, 13)); - RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); - lastRow = nextRow + k; - } - } + + #region 注释 + //foreach (DataRow dr in pageTb.Rows) + //{ + // int dataIndex = dataTit + j; + // ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}"); + // ws.GetRow(dataIndex).GetCell(3).SetCellValue(""); + // ws.GetRow(dataIndex).GetCell(9).SetCellValue(""); + // ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["DrawingsNum"].ToString()); + // ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["PageNum"].ToString()); + // ws.GetRow(dataIndex).GetCell(16).SetCellValue(dr["Remark"].ToString()); + // ws.GetRow(dataIndex).Height = 14 * 20; + // ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 3, 8)); + // ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 9, 13)); + // ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + // ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + // RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws); + // RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); + // nextRow = dataIndex; + // j++; + //} + ////如果pageData不满足33行数据的情况下,将设置剩余行高 + //if (pageTb.Rows.Count < 34) + //{ + // for (int k = 1; k <= 34 - pageTb.Rows.Count; k++) + // { + // int dataIndex = rowIndex + nextRow + k; + // ws.GetRow(dataIndex).Height = 14 * 20; + // ws.GetRow(dataIndex).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None); + // ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + // ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + // ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 3, 8)); + // ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 9, 13)); + // RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws); + // RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); + // lastRow = nextRow + k; + // } + //} + #endregion + + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + lastRow, rowIndex + lastRow, 2, 16), ws); #endregion #region 尾部 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex+50, rowIndex + 55, style, 0, 17, true); - ws.GetRow(rowIndex + 50).Height = 18 * 20; - ws.GetRow(rowIndex + 51).Height = 18 * 20; - ws.GetRow(rowIndex + 52).Height = 18 * 20; - ws.GetRow(rowIndex + 53).Height = 18 * 20; - ws.GetRow(rowIndex + 54).Height = 18 * 20; - ws.GetRow(rowIndex + 55).Height = 4 * 20; - RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 55, 1, 1),ws); - RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 55, 18, 18), ws); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 53, rowIndex + 58, style, 0, 17, 13); + //ws.GetRow(rowIndex + 50).Height = 18 * 20; + //ws.GetRow(rowIndex + 51).Height = 18 * 20; + //ws.GetRow(rowIndex + 52).Height = 18 * 20; + //ws.GetRow(rowIndex + 53).Height = 18 * 20; + //ws.GetRow(rowIndex + 54).Height = 18 * 20; + //ws.GetRow(rowIndex + 55).Height = 4 * 20; + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 53, rowIndex + 58, 1, 1), ws); + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 53, rowIndex + 58, 17, 17), ws); - RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 54, 2, 2), ws); - RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 54, 17, 17), ws); + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 53, rowIndex + 57, 2, 2), ws); + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 53, rowIndex + 57, 17, 17), ws); - RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 52, rowIndex + 52, 2, 16), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 55, rowIndex + 55, 2, 16), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 4, 4), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 6, 6), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 9, 9), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 13, 13), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 55, 4, 4), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 55, 6, 6), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 55, 9, 9), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 55, 13, 13), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 4, 4), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 4, 4), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 6, 6), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 9, 9), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 13, 13), ws); - RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 53, rowIndex + 54, 2, 16), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 4, 4), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 4, 4), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 6, 6), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 9, 9), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 13, 13), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 56, rowIndex + 57, 2, 16), ws); - RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 6, 6), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 9, 9), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 13, 13), ws); + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 57, rowIndex + 57, 2, 6), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 57, rowIndex + 57, 6, 6), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 57, rowIndex + 57, 9, 9), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 57, rowIndex + 57, 13, 13), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 58, 17, 17), ws); - RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 55, rowIndex + 55, 1, 17), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 58, rowIndex + 58, 1, 17), ws); - 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 + 55, 2, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 5, 6)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 7, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 10, 13)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 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 + 56, rowIndex + 56, 2, 4)); + ws.GetRow(rowIndex + 56).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 + 56, rowIndex + 56, 5, 6)); + ws.GetRow(rowIndex + 56).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 + 56, rowIndex + 57, 7, 9)); + ws.GetRow(rowIndex + 56).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 + 56, rowIndex + 57, 10, 13)); + ws.GetRow(rowIndex + 56).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 + 56, rowIndex + 57, 14, 16)); + ws.GetRow(rowIndex + 56).GetCell(14).SetCellValue("BASF"); //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6)); - ws.GetRow(rowIndex + 54).GetCell(2).SetCellValue("CC7"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 57, rowIndex + 57, 2, 6)); + ws.GetRow(rowIndex + 57).GetCell(2).SetCellValue("CC7"); #endregion - rowIndex = rowIndex + 60; + rowIndex = rowIndex + 59; } #endregion - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; - ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - ws.PrintSetup.Scale = 85; - 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.PrintSetup.Landscape = false; + ws.ForceFormulaRecalculation = true; - //页眉页脚间距 - 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.PrintSetup.Scale = 85; + //ws.FitToPage = true; + //垂直水平居中 + //ws.VerticallyCenter = true; + //ws.HorizontallyCenter = true; + + + ////打印边距设置 + //ws.SetMargin(MarginType.RightMargin, 0); + //ws.SetMargin(MarginType.LeftMargin, 0); + //ws.SetMargin(MarginType.TopMargin, 0); + //ws.SetMargin(MarginType.BottomMargin, 0); + + ////页眉页脚间距 + //ws.SetMargin(MarginType.HeaderMargin, 0); + //ws.SetMargin(MarginType.FooterMargin, 0); } //8-TP-06-单线图清单UG-FW-001 模版 @@ -1528,7 +1578,6 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage var img4 = Server.MapPath("~/res/images/bsf/4.png"); 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"); //查询数据 string sql = @"select * from ( @@ -1553,60 +1602,87 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage Pipeline_Pipeline as c on b.PipelineId=c.PipelineId left join Project_WorkArea as d on b.WorkAreaId=d.WorkAreaId ) as t where PTP_ID=@PTP_ID "; + SqlParameter[] parms = new SqlParameter[]{ new SqlParameter("@PTP_ID",this.tvControlItem.SelectedNodeID) }; + var dt = SQLHelper.GetDataTableRunText(sql, parms); //获取试压包第一行记录 #region 分页数据 var tbNum = dt.Rows.Count; - var pageNum = tbNum < 34 ? 1 - : Math.Ceiling((float)(tbNum - 34) / 34) + 1; + var pageNum = tbNum < 37 ? 1 + : Math.Ceiling((float)(tbNum - 37) / 37) + 1; for (int i = 1; i <= pageNum; i++) { + 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 + 15, style, 0, 17, true); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex, rowIndex, style, 0, 17, 13); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 1, rowIndex + 1, style, 0, 17, 4); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 2, rowIndex + 15, style, 0, 17, 13); ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No."); ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06"); #region 设置样式 + //设置列宽度 - ws.SetColumnWidth(0, 3 * 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(0, 1 * 256); + ws.SetColumnWidth(1, 2 * 256); + ws.SetColumnWidth(2, 9 * 256); + ws.SetColumnWidth(3, 4 * 256); + ws.SetColumnWidth(4, 4 * 256); + ws.SetColumnWidth(5, 4 * 256); + ws.SetColumnWidth(6, 5 * 256); ws.SetColumnWidth(7, 4 * 256); - ws.SetColumnWidth(8, 8 * 256); - ws.SetColumnWidth(9, 8 * 256); - ws.SetColumnWidth(10, 8 * 256); - ws.SetColumnWidth(11, 8 * 256); - ws.SetColumnWidth(12, 1 * 256); - ws.SetColumnWidth(13, 9 * 256); - ws.SetColumnWidth(14, 10 * 256); - ws.SetColumnWidth(15, 10 * 256); - ws.SetColumnWidth(16, 10 * 256); - ws.SetColumnWidth(17, 1 * 256); - //设置前3行高度 - ws.GetRow(rowIndex + 0).Height = 15 * 20; - ws.GetRow(rowIndex + 1).Height = 4 * 20; - ws.GetRow(rowIndex + 2).Height = 14 * 20; - ws.GetRow(rowIndex + 3).Height = 18 * 20; - ws.GetRow(rowIndex + 4).Height = 18 * 20; - ws.GetRow(rowIndex + 5).Height = 18 * 20; - ws.GetRow(rowIndex + 6).Height = 18 * 20; - ws.GetRow(rowIndex + 7).Height = 18 * 20; - ws.GetRow(rowIndex + 8).Height = 18 * 20; - ws.GetRow(rowIndex + 9).Height = 18 * 20; - ws.GetRow(rowIndex + 10).Height = 18 * 20; - ws.GetRow(rowIndex + 11).Height = 18 * 20; - ws.GetRow(rowIndex + 12).Height = 18 * 20; - ws.GetRow(rowIndex + 13).Height = 18 * 20; - ws.GetRow(rowIndex + 14).Height = 18 * 20; + ws.SetColumnWidth(8, 4 * 256); + ws.SetColumnWidth(9, 4 * 256); + ws.SetColumnWidth(10, 4 * 256); + ws.SetColumnWidth(11, 4 * 256); + ws.SetColumnWidth(12, 4 * 256); + ws.SetColumnWidth(13, 4 * 256); + ws.SetColumnWidth(14, 8 * 256); + ws.SetColumnWidth(15, 9 * 256); + ws.SetColumnWidth(16, 9 * 256); + ws.SetColumnWidth(17, 2 * 256); + + ////设置列宽度 + //ws.SetColumnWidth(0, 3 * 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, 4 * 256); + //ws.SetColumnWidth(8, 8 * 256); + //ws.SetColumnWidth(9, 8 * 256); + //ws.SetColumnWidth(10, 8 * 256); + //ws.SetColumnWidth(11, 8 * 256); + //ws.SetColumnWidth(12, 1 * 256); + //ws.SetColumnWidth(13, 9 * 256); + //ws.SetColumnWidth(14, 10 * 256); + //ws.SetColumnWidth(15, 10 * 256); + //ws.SetColumnWidth(16, 10 * 256); + //ws.SetColumnWidth(17, 1 * 256); + ////设置前3行高度 + //ws.GetRow(rowIndex + 0).Height = 15 * 20; + //ws.GetRow(rowIndex + 1).Height = 4 * 20; + //ws.GetRow(rowIndex + 2).Height = 14 * 20; + //ws.GetRow(rowIndex + 3).Height = 18 * 20; + //ws.GetRow(rowIndex + 4).Height = 18 * 20; + //ws.GetRow(rowIndex + 5).Height = 18 * 20; + //ws.GetRow(rowIndex + 6).Height = 18 * 20; + //ws.GetRow(rowIndex + 7).Height = 18 * 20; + //ws.GetRow(rowIndex + 8).Height = 18 * 20; + //ws.GetRow(rowIndex + 9).Height = 18 * 20; + //ws.GetRow(rowIndex + 10).Height = 18 * 20; + //ws.GetRow(rowIndex + 11).Height = 18 * 20; + //ws.GetRow(rowIndex + 12).Height = 18 * 20; + //ws.GetRow(rowIndex + 13).Height = 18 * 20; + //ws.GetRow(rowIndex + 14).Height = 18 * 20; RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 0, rowIndex + 0, 1, 1), ws); RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws); @@ -1629,10 +1705,10 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #endregion #region 插入图片 - InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8); - InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 10, 2, 30, 2); - InsertImage(hssfworkbook, ws, 3, 14, 4, 14, img3, 1.5, 2, 8, 2); - InsertImage(hssfworkbook, ws, 3, 15, 4, 15, img4, 3, 2, 35, 2); + InsertImage(hssfworkbook, ws, rowIndex + 3, 2, rowIndex + 4, 3, img1, 1.2, 1.8); + InsertImage(hssfworkbook, ws, rowIndex + 3, 3, rowIndex + 4, 4, img2, 10, 2, 30, 2); + InsertImage(hssfworkbook, ws, rowIndex + 3, 14, rowIndex + 4, 14, img3, 1.5, 2, 8, 2); + InsertImage(hssfworkbook, ws, rowIndex + 3, 15, rowIndex + 4, 15, img4, 3, 2, 35, 2); #endregion #region 试压包头部分 @@ -1726,7 +1802,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 15).Height = 40 * 20; style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, false, false, "Arial Unicode MS"); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 16, rowIndex + 50, style, 0, 17, true); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 16, rowIndex + 53, style, 0, 17, true); var dataTit = rowIndex + 16; @@ -1735,26 +1811,33 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage if (i == 1) { dStart = 0; - dEnd = 34; + dEnd = 37; } else { - dStart = i == 2 ? 34 : ((i - 2) * 34) + 34; - dEnd = ((i - 1) * 34) + 34; + dStart = i == 2 ? 37 : ((i - 2) * 37) + 37; + dEnd = ((i - 1) * 37) + 37; } var pageTb = GetPageToTable(dt, dStart, dEnd); int nextRow = 0; int lastRow = 0; int j = 0; - foreach (DataRow dr in pageTb.Rows) + + for (int k = 0; k < 37; k++) { int dataIndex = dataTit + j; - ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}"); - ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["SingleNumber"].ToString()); - ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["PipelineCode"].ToString()); - ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["DrawingsNum"].ToString()); - ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["PageNum"].ToString()); - ws.GetRow(dataIndex).GetCell(16).SetCellValue(dr["Remark"].ToString()); + + if (pageTb.Rows.Count > k) + { + DataRow dr = pageTb.Rows[k]; + ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}"); + ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["SingleNumber"].ToString()); + ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["PipelineCode"].ToString()); + ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["DrawingsNum"].ToString()); + ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["PageNum"].ToString()); + ws.GetRow(dataIndex).GetCell(16).SetCellValue(dr["Remark"].ToString()); + } + ws.GetRow(dataIndex).Height = 14 * 20; ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 3, 8)); ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 9, 13)); @@ -1771,116 +1854,153 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage nextRow = dataIndex; j++; } + + #region 注释 + //foreach (DataRow dr in pageTb.Rows) + //{ + // int dataIndex = dataTit + j; + // ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}"); + // ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["SingleNumber"].ToString()); + // ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["PipelineCode"].ToString()); + // ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["DrawingsNum"].ToString()); + // ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["PageNum"].ToString()); + // ws.GetRow(dataIndex).GetCell(16).SetCellValue(dr["Remark"].ToString()); + // ws.GetRow(dataIndex).Height = 14 * 20; + // ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 3, 8)); + // ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 9, 13)); + // ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + // ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + // RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws); + // RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); + // nextRow = dataIndex; + // j++; + //} //如果pageData不满足33行数据的情况下,将设置剩余行高 - if (pageTb.Rows.Count < 34) - { - for (int k = 1; k <= 34 - pageTb.Rows.Count; k++) - { - int dataIndex = rowIndex + nextRow + k; - ws.GetRow(dataIndex).Height = 14 * 20; - ws.GetRow(dataIndex).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None); - ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); - ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); - ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 3, 8)); - ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 9, 13)); - RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); - lastRow = nextRow + k; - } - } + //if (pageTb.Rows.Count < 34) + //{ + // for (int k = 1; k <= 34 - pageTb.Rows.Count; k++) + // { + // int dataIndex = rowIndex + nextRow + k; + // ws.GetRow(dataIndex).Height = 14 * 20; + // ws.GetRow(dataIndex).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None); + // ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + // ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); + // ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 3, 8)); + // ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 9, 13)); + // RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws); + // RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws); + // RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws); + // lastRow = nextRow + k; + // } + //} + #endregion + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + lastRow, rowIndex + lastRow, 2, 16), ws); #endregion #region 尾部 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 50, rowIndex + 55, style, 0, 17, true); - ws.GetRow(rowIndex + 50).Height = 18 * 20; - ws.GetRow(rowIndex + 51).Height = 18 * 20; - ws.GetRow(rowIndex + 52).Height = 18 * 20; - ws.GetRow(rowIndex + 53).Height = 18 * 20; - ws.GetRow(rowIndex + 54).Height = 18 * 20; - ws.GetRow(rowIndex + 55).Height = 4 * 20; - RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 55, 1, 1), ws); - RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 55, 18, 18), ws); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 53, rowIndex + 58, style, 0, 17, 13); + //ws.GetRow(rowIndex + 50).Height = 18 * 20; + //ws.GetRow(rowIndex + 51).Height = 18 * 20; + //ws.GetRow(rowIndex + 52).Height = 18 * 20; + //ws.GetRow(rowIndex + 53).Height = 18 * 20; + //ws.GetRow(rowIndex + 54).Height = 18 * 20; + //ws.GetRow(rowIndex + 55).Height = 4 * 20; + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 53, rowIndex + 58, 1, 1), ws); + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 53, rowIndex + 58, 17, 17), ws); - RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 54, 2, 2), ws); - RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 54, 17, 17), ws); + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 53, rowIndex + 57, 2, 2), ws); + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 53, rowIndex + 57, 17, 17), ws); - RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 52, rowIndex + 52, 2, 16), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 55, rowIndex + 55, 2, 16), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 4, 4), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 6, 6), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 9, 9), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 13, 13), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 55, 4, 4), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 55, 6, 6), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 55, 9, 9), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 55, 13, 13), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 4, 4), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 4, 4), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 6, 6), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 9, 9), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 13, 13), ws); - RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 53, rowIndex + 54, 2, 16), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 4, 4), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 4, 4), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 6, 6), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 9, 9), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 56, rowIndex + 56, 13, 13), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 56, rowIndex + 57, 2, 16), ws); - RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 6, 6), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 9, 9), ws); - RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 13, 13), ws); + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 57, rowIndex + 57, 2, 6), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 57, rowIndex + 57, 6, 6), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 57, rowIndex + 57, 9, 9), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 57, rowIndex + 57, 13, 13), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 58, 17, 17), ws); - RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 55, rowIndex + 55, 1, 17), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 58, rowIndex + 58, 1, 17), ws); - 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 + 55, 2, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 5, 6)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 7, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 10, 13)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 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 + 56, rowIndex + 56, 2, 4)); + ws.GetRow(rowIndex + 56).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 + 56, rowIndex + 56, 5, 6)); + ws.GetRow(rowIndex + 56).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 + 56, rowIndex + 57, 7, 9)); + ws.GetRow(rowIndex + 56).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 + 56, rowIndex + 57, 10, 13)); + ws.GetRow(rowIndex + 56).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 + 56, rowIndex + 57, 14, 16)); + ws.GetRow(rowIndex + 56).GetCell(14).SetCellValue("BASF"); //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6)); - ws.GetRow(rowIndex + 54).GetCell(2).SetCellValue("CC7"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 57, rowIndex + 57, 2, 6)); + ws.GetRow(rowIndex + 57).GetCell(2).SetCellValue("CC7"); #endregion - rowIndex = rowIndex + 60; + rowIndex = rowIndex + 59; } #endregion - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; + + ws.PrintSetup.Landscape = false; + ws.ForceFormulaRecalculation = true; + + + //ws.PrintSetup.FitWidth = 1; + //ws.PrintSetup.FitHeight = 0; ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - ws.PrintSetup.Scale = 85; - ws.FitToPage = true; + //ws.PrintSetup.Scale = 85; + //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.SetMargin(MarginType.RightMargin, 0); + //ws.SetMargin(MarginType.LeftMargin, 0); + //ws.SetMargin(MarginType.TopMargin, 0); + //ws.SetMargin(MarginType.BottomMargin, 0); + + ////页眉页脚间距 + //ws.SetMargin(MarginType.HeaderMargin, 0); + //ws.SetMargin(MarginType.FooterMargin, 0); } //11-TP-07-盲板清单UG-FW-001 @@ -1894,221 +2014,280 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage var img4 = Server.MapPath("~/res/images/bsf/4.png"); 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 头部 + //模拟数据 + 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 = 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; + var tbNum = dt.Rows.Count; + var pageNum = tbNum < 37 ? 1 : Math.Ceiling((float)(tbNum - 37) / 37) + 1; - //设置3-15行的行高度 - for (int i = 3; i < 15; i++) + for (int num = 1; num <= pageNum; num++) { - ws.GetRow(i).Height = 18 * 20; + #region 头部 + + 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"); + + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex, rowIndex + 14, style, 0, 17, 13); + ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No."); + ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06"); + //设置列宽度 + ws.SetColumnWidth(0, 1 * 256); + ws.SetColumnWidth(1, 2 * 256); + ws.SetColumnWidth(2, 9 * 256); + ws.SetColumnWidth(3, 4 * 256); + ws.SetColumnWidth(4, 4 * 256); + ws.SetColumnWidth(5, 4 * 256); + ws.SetColumnWidth(6, 5 * 256); + ws.SetColumnWidth(7, 4 * 256); + ws.SetColumnWidth(8, 4 * 256); + ws.SetColumnWidth(9, 4 * 256); + ws.SetColumnWidth(10, 4 * 256); + ws.SetColumnWidth(11, 4 * 256); + ws.SetColumnWidth(12, 4 * 256); + ws.SetColumnWidth(13, 4 * 256); + ws.SetColumnWidth(14, 8 * 256); + ws.SetColumnWidth(15, 9 * 256); + ws.SetColumnWidth(16, 9 * 256); + ws.SetColumnWidth(17, 2 * 256); + + ////设置列宽度 + //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++) + //{ + // ws.GetRow(i).Height = 18 * 20; + //} + + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex, rowIndex, 1, 1), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws); + + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 16, 16), ws); + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws); + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 2, 16), ws); + RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 2, 16), ws); + + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 14, 0, 0), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 1, 1), ws); + + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 16, 16), ws); + RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 17, 17), ws); + + + RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 9, rowIndex + 14, 2, 2), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 2, 16), ws); + RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 8, rowIndex + 8, 2, 16), ws); + //插入图片 + InsertImage(hssfworkbook, ws, rowIndex + 3, 2, rowIndex + 4, 3, img1, 1.2, 1.8); + InsertImage(hssfworkbook, ws, rowIndex + 3, 3, rowIndex + 4, 4, img2, 1.9, 1.9); + InsertImage(hssfworkbook, ws, rowIndex + 3, 13, rowIndex + 4, 14, img3, 1.5, 1.5); + InsertImage(hssfworkbook, ws, rowIndex + 3, 15, rowIndex + 4, 16, img4, 1.5, 1.5); + + ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目"); + var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS"); + ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13)); + ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT"); + ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13)); + ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("试压包盲板清单"); + ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13)); + ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("TEST PACKAGE BLIND 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 表格部分 + + var dataTit = rowIndex + 15; + var dStart = 0; + var dEnd = 0; + if (num == 1) + { + dStart = 0; + dEnd = 37; + } + else + { + dStart = num == 2 ? 37 : ((num - 2) * 37) + 37; + dEnd = ((num - 1) * 37) + 37; + } + + style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial"); + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 15, rowIndex + 52, style, 0, 17, 13); + //数据表头部分 + ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号"); + ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Isometric Drawing No.\r\n单线图号"); + ws.GetRow(rowIndex + 15).GetCell(7).SetCellValue("Blind No.\r\n盲板编号"); + ws.GetRow(rowIndex + 15).GetCell(8).SetCellValue("Inch\r\n尺寸"); + ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Thick(mm)\r\n厚度"); + ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("Material\r\n材质"); + ws.GetRow(rowIndex + 15).GetCell(11).SetCellValue("Installed Date\r\n安装日期"); + ws.GetRow(rowIndex + 15).GetCell(14).SetCellValue("Removed Date\r\n拆除日期"); + ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注"); + + var pageTb = GetPageToTable(dt, dStart, dEnd); + int j = 0; + for (int i = 15; i <= 52; i++) + { + if (i == 15) + { + ws.GetRow(rowIndex + i).Height = 50 * 20; + } + else + { + if (pageTb.Rows.Count > j) + { + DataRow dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(2).SetCellValue(j + 1); + ws.GetRow(rowIndex + i).GetCell(3).SetCellValue(dr["PTP_ID"].ToString()); + } + j++; + } + + 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, 6)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 13)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 14, 15)); + } + + #endregion + + #region 尾部 + + //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。 + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 53, rowIndex + 59, style, 0, 17, 13); + for (int i = rowIndex + 53; i <= rowIndex + 59; i++) + { + 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 + 59).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); + } + ws.GetRow(rowIndex + 59).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None); + ws.GetRow(rowIndex + 59).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); + ws.GetRow(rowIndex + 59).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 2, 4)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 5, 6)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 7, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 10, 13)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 55, 14, 16)); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 56, rowIndex + 56, 2, 4)); + ws.GetRow(rowIndex + 56).GetCell(2).SetCellValue("PREPARED"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 56, rowIndex + 56, 5, 6)); + ws.GetRow(rowIndex + 56).GetCell(5).SetCellValue("REVIEW"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 56, rowIndex + 57, 7, 9)); + ws.GetRow(rowIndex + 56).GetCell(7).SetCellValue("JIANLI"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 56, rowIndex + 57, 10, 13)); + ws.GetRow(rowIndex + 56).GetCell(10).SetCellValue("Worley"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 56, rowIndex + 57, 14, 16)); + ws.GetRow(rowIndex + 56).GetCell(14).SetCellValue("BASF"); + //合并单元格 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 57, rowIndex + 57, 2, 6)); + ws.GetRow(rowIndex + 57).GetCell(2).SetCellValue("CC7"); + + #endregion + + rowIndex = rowIndex + 60; } - 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("TEST PACKAGE BLIND 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, 10, true, false, "Arial"); - ws = ExcelCreateRow(ws, hssfworkbook, 15, rowIndex + 49, style, 0, 17, true); - for (int i = 15; i < 50; i++) - { - ws.GetRow(i).Height = 22 * 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, 6)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 13)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 14, 15)); - } - ws.GetRow(15).Height = 40 * 20; - //数据表头部分 - ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号"); - ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Isometric Drawing No.\r\n单线图号"); - ws.GetRow(rowIndex + 15).GetCell(7).SetCellValue("Blind No.\r\n盲板编号"); - ws.GetRow(rowIndex + 15).GetCell(8).SetCellValue("Inch\r\n尺寸"); - ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Thick(mm)\r\n厚度"); - ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("Material\r\n材质"); - ws.GetRow(rowIndex + 15).GetCell(11).SetCellValue("Installed Date\r\n安装日期"); - ws.GetRow(rowIndex + 15).GetCell(14).SetCellValue("Removed Date\r\n拆除日期"); - ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注"); - - #endregion - - #region 尾部 - - //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。 - ws = ExcelCreateRow(ws, hssfworkbook, 49, rowIndex + 55, style, 0, 17, true); - for (int i = 49; i <= 55; i++) - { - ws.GetRow(i).Height = 18 * 20; - ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium); - ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium); - ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium); - } - - for (int i = 2; i < 17; i++) - { - ws.GetRow(rowIndex + 55).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); - } - ws.GetRow(rowIndex + 55).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None); - ws.GetRow(rowIndex + 55).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None); - ws.GetRow(rowIndex + 55).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 2, 4)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 5, 6)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 7, 9)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 10, 13)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 14, 16)); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 2, 4)); - ws.GetRow(rowIndex + 53).GetCell(2).SetCellValue("PREPARED"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 5, 6)); - ws.GetRow(rowIndex + 53).GetCell(5).SetCellValue("REVIEW"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 7, 9)); - ws.GetRow(rowIndex + 53).GetCell(7).SetCellValue("JIANLI"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 10, 13)); - ws.GetRow(rowIndex + 53).GetCell(10).SetCellValue("Worley"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 14, 16)); - ws.GetRow(rowIndex + 53).GetCell(14).SetCellValue("BASF"); - //合并单元格 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6)); - ws.GetRow(rowIndex + 54).GetCell(2).SetCellValue("CC7"); - #endregion - - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; + ws.PrintSetup.Landscape = false; + ws.ForceFormulaRecalculation = true; ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - - ws.FitToPage = true; - //垂直水平居中 ws.VerticallyCenter = true; ws.HorizontallyCenter = true; - //打印边距设置 厘米/3 - ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3); - ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3); - ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3); - - //页眉页脚间距 - ws.SetMargin(MarginType.HeaderMargin, 0); - ws.SetMargin(MarginType.FooterMargin, 0); + ////打印边距设置 + //ws.SetMargin(MarginType.RightMargin, 0); + //ws.SetMargin(MarginType.LeftMargin, 0); + //ws.SetMargin(MarginType.TopMargin, 0); + //ws.SetMargin(MarginType.BottomMargin, 0); + ////页眉页脚间距 + //ws.SetMargin(MarginType.HeaderMargin, 0); + //ws.SetMargin(MarginType.FooterMargin, 0); } //13-弹簧支吊架安装检验记录SHT 3503-J403 @@ -3110,6 +3289,9 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage { var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID); + ////模拟数据 + //string sql = "SELECT '' WeldSilkId,'模拟数据' PipelineCode,'' WorkAreaCode,'' WeldJointCode,'' Specification,'' Material1Code,'' WeldingMethodCode,'' WeldingDate,'' WeldSilkCode,'' WeldMatCode,'' BackingWelderCode,'' CoverWelderCode,'' ProjectName,'' EnProjectName,'' WorkAreaName,'' EnWorkAreaName,'' IsHotProessName,'' PrepareTemp,'' WeldingLocationCode,'' WeldTypeCode,'' NDEReportNo\r\nFROM Sys_User union all SELECT '' WeldSilkId,'模拟数据' PipelineCode,'' WorkAreaCode,'' WeldJointCode,'' Specification,'' Material1Code,'' WeldingMethodCode,'' WeldingDate,'' WeldSilkCode,'' WeldMatCode,'' BackingWelderCode,'' CoverWelderCode,'' ProjectName,'' EnProjectName,'' WorkAreaName,'' EnWorkAreaName,'' IsHotProessName,'' PrepareTemp,'' WeldingLocationCode,'' WeldTypeCode,'' NDEReportNo\r\nFROM Sys_User union all SELECT '' WeldSilkId,'模拟数据' PipelineCode,'' WorkAreaCode,'' WeldJointCode,'' Specification,'' Material1Code,'' WeldingMethodCode,'' WeldingDate,'' WeldSilkCode,'' WeldMatCode,'' BackingWelderCode,'' CoverWelderCode,'' ProjectName,'' EnProjectName,'' WorkAreaName,'' EnWorkAreaName,'' IsHotProessName,'' PrepareTemp,'' WeldingLocationCode,'' WeldTypeCode,'' NDEReportNo\r\nFROM Sys_User"; + string sql = @" SELECT WeldSilkId, a.PipelineCode, @@ -3143,176 +3325,180 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage new SqlParameter("@projectId", this.CurrUser.LoginProjectId) }; DataTable tb = SQLHelper.GetDataTableRunText(sql, parms); - - if (tb.Rows.Count > 0) + + + int rowIndex = 0; + + #region 列宽 + + ws.SetColumnWidth(0, 15 * 256); + ws.SetColumnWidth(1, 6 * 256); + ws.SetColumnWidth(2, 6 * 256); + ws.SetColumnWidth(3, 9 * 256); + ws.SetColumnWidth(4, 11 * 256); + ws.SetColumnWidth(5, 9 * 256); + ws.SetColumnWidth(6, 8 * 256); + ws.SetColumnWidth(7, 10 * 256); + ws.SetColumnWidth(8, 6 * 256); + ws.SetColumnWidth(9, 6 * 256); + ws.SetColumnWidth(10, 6 * 256); + ws.SetColumnWidth(11, 6 * 256); + ws.SetColumnWidth(12, 9 * 256); + ws.SetColumnWidth(13, 11 * 256); + ws.SetColumnWidth(14, 10 * 256); + + #endregion + + var headerStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 9, true, false); + + var tbNum = tb.Rows.Count; + var pageNum = + tbNum < 12 ? 1 + : Math.Ceiling((float)(tbNum - 12) / 12) + 1; + + + //循环页 + for (int i = 1; i <= pageNum; i++) { - int rowIndex = 0; - - #region 列宽 + var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false); - ws.SetColumnWidth(0, 18 * 256); - ws.SetColumnWidth(1, 9 * 256); - ws.SetColumnWidth(2, 6 * 256); - ws.SetColumnWidth(3, 12 * 256); - ws.SetColumnWidth(4, 18 * 256); - ws.SetColumnWidth(5, 15 * 256); - ws.SetColumnWidth(6, 15 * 256); - ws.SetColumnWidth(7, 13 * 256); - ws.SetColumnWidth(8, 10 * 256); - ws.SetColumnWidth(9, 10 * 256); - ws.SetColumnWidth(10, 13 * 256); - ws.SetColumnWidth(11, 10 * 256); - ws.SetColumnWidth(12, 16 * 256); - ws.SetColumnWidth(13, 14 * 256); - ws.SetColumnWidth(14, 19 * 256); + #region 头部 + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex, rowIndex + 5, style, 0, 14, 18); + //行0 + CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex + 3, 0, 2); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J415-1"); + ws.GetRow(rowIndex).GetCell(0).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, true); + region = new CellRangeAddress(rowIndex, rowIndex + 3, 3, 10); + ws.AddMergedRegion(region); + string titleStr = i == 1 ? "管道焊接工作记录\r\nPiping Welding Record" : "管道焊接工作记录(续)\r\nPiping Welding Record"; + ws.GetRow(rowIndex).GetCell(3).SetCellValue(titleStr); + ws.GetRow(rowIndex).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 15, true, true); + region = new CellRangeAddress(rowIndex, rowIndex, 11, 14); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex).GetCell(11).SetCellValue($"工程名称:{info?.projectName}"); + ws.GetRow(rowIndex).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9.5, true, false); + + //行1 + region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue($"Project Name:{info?.enProjectName}"); + ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9.5, true, false); + + //ws.GetRow(rowIndex + 1).Height = 25 * 20; + //ws.GetRow(rowIndex + 2).Height = 25 * 20; + //ws.GetRow(rowIndex + 3).Height = 25 * 20; + //ws.GetRow(rowIndex + 4).Height = 25 * 20; + //行2 + region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue($"单位工程名称:{info?.workAreaName}"); + ws.GetRow(rowIndex + 2).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false); + + //行3 + region = new CellRangeAddress(rowIndex + 3, rowIndex + 3, 11, 14); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue($"Unit Name:{info?.enWorkAreaName}"); + ws.GetRow(rowIndex + 3).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false); + + //画线 + RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex, rowIndex, 11, 14), ws); + RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14), ws); + RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14), ws); + RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14), ws); + RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14), ws); + RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 3, rowIndex + 3, 11, 14), ws); + + //行4行5 + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 0, 0); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("管道编号/单线号\r\nPiping No./Line No"); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 1, 2); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("焊口编号\r\nWeld No."); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 3, 3); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("焊接形式\r\nWeld Type."); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 4, 4); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("焊工代号\r\nWelder's Stamp No."); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 5, 5); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("规格mm\r\nSpecification\r\nmm"); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 6, 6); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("材质\r\nMaterial"); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 7, 7); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("焊接位置\r\nWelding\r\nPosition"); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 8, 9); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("焊接方法\r\nWelding Process"); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 10, 11); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("焊材牌号\r\nWelding Material Designation"); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 12, 12); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("实际预热温度℃\r\nActual Preheating Temperature ℃"); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 13, 13); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("焊接日期\r\nWelding Date"); + region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 14, 14); + ws.AddMergedRegion(region); + ws.GetRow(rowIndex + 4).GetCell(14).SetCellValue("无损检查报告\r\nNDE Report."); + + ws.GetRow(rowIndex + 4).GetCell(0).CellStyle = ws.GetRow(rowIndex + 4).GetCell(1).CellStyle + = ws.GetRow(rowIndex + 4).GetCell(3).CellStyle = ws.GetRow(rowIndex + 4).GetCell(4).CellStyle + = ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = ws.GetRow(rowIndex + 4).GetCell(6).CellStyle + = ws.GetRow(rowIndex + 4).GetCell(7).CellStyle = ws.GetRow(rowIndex + 4).GetCell(8).CellStyle + = ws.GetRow(rowIndex + 4).GetCell(10).CellStyle = ws.GetRow(rowIndex + 4).GetCell(12).CellStyle + = ws.GetRow(rowIndex + 4).GetCell(13).CellStyle = ws.GetRow(rowIndex + 4).GetCell(14).CellStyle + = headerStyle; + + //ws.GetRow(rowIndex + 4).Height = 25 * 20; + //ws.GetRow(rowIndex + 5).Height = 25 * 20; #endregion - var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false); - var headerStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 9, true, false); + #region 表格 - var tbNum = tb.Rows.Count; - var pageNum = - tbNum < 16 ? 1 - : Math.Ceiling((float)(tbNum - 16) / 16) + 1; - - - //循环页 - for (int i = 1; i <= pageNum; i++) + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 6, rowIndex + 17, style, 0, 14, 18); + var dataTit = rowIndex + 6; + var tIndex = 5 + 12; + var dStart = 0; + var dEnd = 0; + if (i == 1) { - #region 头部 + dStart = 0; + dEnd = 12; + } + else + { + dStart = i == 2 ? 12 : ((i - 2) * 12) + 12; + dEnd = ((i - 1) * 12) + 12; + } - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 5, style, 0, 14, true); - //行0 - CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex + 3, 0, 2); + //合并单元格 + for (int hb = dataTit; hb <= rowIndex + tIndex; hb++) + { + region = new CellRangeAddress(hb, hb, 1, 2); ws.AddMergedRegion(region); - ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J415-1"); - ws.GetRow(rowIndex).GetCell(0).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10,true, true); - region = new CellRangeAddress(rowIndex, rowIndex + 3, 3, 10); + region = new CellRangeAddress(hb, hb, 8, 9); ws.AddMergedRegion(region); - string titleStr = i == 1 ? "管道焊接工作记录\r\nPiping Welding Record" : "管道焊接工作记录(续)\r\nPiping Welding Record"; - ws.GetRow(rowIndex).GetCell(3).SetCellValue(titleStr); - ws.GetRow(rowIndex).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 15, true, true); - region = new CellRangeAddress(rowIndex, rowIndex, 11, 14); + region = new CellRangeAddress(hb, hb, 10, 11); ws.AddMergedRegion(region); - ws.GetRow(rowIndex).GetCell(11).SetCellValue($"工程名称:{info?.projectName}"); - ws.GetRow(rowIndex).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9.5, true, false); + } - //行1 - region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue($"Project Name:{info?.enProjectName}"); - ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9.5, true, false); + //获取当前页数据 + var pageTb = GetPageToTable(tb, dStart, dEnd); + int j = 0; - ws.GetRow(rowIndex + 1).Height = 25 * 20; - ws.GetRow(rowIndex + 2).Height = 25 * 20; - ws.GetRow(rowIndex + 3).Height = 25 * 20; - ws.GetRow(rowIndex + 4).Height = 25 * 20; - //行2 - region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue($"单位工程名称:{info?.workAreaName}"); - ws.GetRow(rowIndex + 2).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false); - - //行3 - region = new CellRangeAddress(rowIndex + 3, rowIndex + 3, 11, 14); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue($"Unit Name:{info?.enWorkAreaName}"); - ws.GetRow(rowIndex + 3).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false); - - //画线 - RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex, rowIndex, 11, 14), ws); - RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14), ws); - RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14), ws); - RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14), ws); - RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14), ws); - RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 3, rowIndex + 3, 11, 14), ws); - - //行4行5 - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 0, 0); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("管道编号/单线号\r\nPiping No./Line No"); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 1, 2); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("焊口编号\r\nWeld No."); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 3, 3); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("焊接形式\r\nWeld Type."); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 4, 4); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("焊工代号\r\nWelder's Stamp No."); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 5, 5); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("规格mm\r\nSpecification\r\nmm"); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 6, 6); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("材质\r\nMaterial"); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 7, 7); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("焊接位置\r\nWelding\r\nPosition"); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 8, 9); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("焊接方法\r\nWelding Process"); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 10, 11); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("焊材牌号\r\nWelding Material Designation"); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 12, 12); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("实际预热温度℃\r\nActual Preheating Temperature ℃"); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 13, 13); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("焊接日期\r\nWelding Date"); - region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 14, 14); - ws.AddMergedRegion(region); - ws.GetRow(rowIndex + 4).GetCell(14).SetCellValue("无损检查报告\r\nNDE Report."); - - ws.GetRow(rowIndex + 4).GetCell(0).CellStyle = ws.GetRow(rowIndex + 4).GetCell(1).CellStyle - = ws.GetRow(rowIndex + 4).GetCell(3).CellStyle = ws.GetRow(rowIndex + 4).GetCell(4).CellStyle - = ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = ws.GetRow(rowIndex + 4).GetCell(6).CellStyle - = ws.GetRow(rowIndex + 4).GetCell(7).CellStyle = ws.GetRow(rowIndex + 4).GetCell(8).CellStyle - = ws.GetRow(rowIndex + 4).GetCell(10).CellStyle = ws.GetRow(rowIndex + 4).GetCell(12).CellStyle - = ws.GetRow(rowIndex + 4).GetCell(13).CellStyle = ws.GetRow(rowIndex + 4).GetCell(14).CellStyle - = headerStyle; - - ws.GetRow(rowIndex + 4).Height = 25 * 20; - ws.GetRow(rowIndex + 5).Height = 25 * 20; - #endregion - - #region 表格 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 21, style, 0, 14); - var dataTit = rowIndex + 6; - var tIndex = 5 + 16; - var dStart = 0; - var dEnd = 0; - if (i == 1) + for (int k = 0; k < 12; k++) + { + int dataIndex = dataTit + j; + if (pageTb.Rows.Count > k) { - dStart = 0; - dEnd = 16; - } - else - { - dStart = i == 2 ? 16 : ((i - 2) * 16) + 16; - dEnd = ((i - 1) * 16) + 16; - } - - //合并单元格 - for (int hb = dataTit; hb <= rowIndex + tIndex; hb++) - { - region = new CellRangeAddress(hb, hb, 1, 2); - ws.AddMergedRegion(region); - region = new CellRangeAddress(hb, hb, 8, 9); - ws.AddMergedRegion(region); - region = new CellRangeAddress(hb, hb, 10, 11); - ws.AddMergedRegion(region); - } - - //获取当前页数据 - var pageTb = GetPageToTable(tb, dStart, dEnd); - int j = 0; - foreach (DataRow dr in pageTb.Rows) - { - int dataIndex = dataTit + j; + DataRow dr = pageTb.Rows[k]; //管道编号/单线号 ws.GetRow(dataIndex).GetCell(0).SetCellValue(dr["PipelineCode"].ToString()); //焊口编号 @@ -3357,97 +3543,110 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(dataIndex).GetCell(13).SetCellValue(dr["WeldingDate"].ToString()); //无损检查报告 ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["NDEReportNo"].ToString()); - j++; - ws.GetRow(dataIndex).Height = 20 * 20; } - - - for (int k = rowIndex + 6; k <= rowIndex + 21; k++) - { - ws.GetRow(k).Height = 20 * 20; - } - rowIndex += tIndex; - - - #endregion - - #region 尾部 - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 7, style, 0, 14, false); - - //合并单元格 - for (int hb = rowIndex + 1; hb <= rowIndex + 7; hb++) - { - for (int c = 0; c <= 14; c++) - { - if (hb >= rowIndex + 1 && hb <= rowIndex + 6) - { - ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Left, 10, true, false); - } - if (hb == rowIndex + 7) - { - ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Left, 10, true, false); - } - } - region = new CellRangeAddress(hb, hb, 0, 3); - ws.AddMergedRegion(region); - region = new CellRangeAddress(hb, hb, 4, 9); - ws.AddMergedRegion(region); - region = new CellRangeAddress(hb, hb, 10, 14); - ws.AddMergedRegion(region); - } - - //行1 - ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("建设/监理单位"); - ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor"); - ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("施工单位\r\nConstruction Contractor"); - //行2 - ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue("记录人 :\r\nRecord Prepared by:"); - //行3 - ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("质量检查员:\r\nQuality Inspector:"); - //行5 - ws.GetRow(rowIndex + 6).GetCell(10).SetCellValue("焊接责任工程师:\r\nWelding Engineer:"); - //行6 - ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("日期Date: 年 月 日"); - ws.GetRow(rowIndex + 7).GetCell(4).SetCellValue("日期Date: 年 月 日"); - ws.GetRow(rowIndex + 7).GetCell(10).SetCellValue("日期Date: 年 月 日"); - - #endregion - - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 9, style, 0, 14, false); - rowIndex += 10; - ws.SetRowBreak(rowIndex - 1); + j++; + ws.GetRow(dataIndex).Height = 20 * 20; } - 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); + for (int k = rowIndex + 6; k <= rowIndex + 17; k++) + { + ws.GetRow(k).Height = 20 * 20; + } + rowIndex += tIndex; - //页眉页脚间距 - ws.SetMargin(MarginType.HeaderMargin, 0); - ws.SetMargin(MarginType.FooterMargin, 0); + + #endregion + + #region 尾部 + + ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 1, rowIndex + 7, style, 0, 14, 25); + + //合并单元格 + for (int hb = rowIndex + 1; hb <= rowIndex + 7; hb++) + { + for (int c = 0; c <= 14; c++) + { + if (hb >= rowIndex + 1 && hb <= rowIndex + 6) + { + ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Left, 10, true, false); + } + if (hb == rowIndex + 7) + { + ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Left, 10, true, false); + } + } + region = new CellRangeAddress(hb, hb, 0, 3); + ws.AddMergedRegion(region); + region = new CellRangeAddress(hb, hb, 4, 9); + ws.AddMergedRegion(region); + region = new CellRangeAddress(hb, hb, 10, 14); + ws.AddMergedRegion(region); + } + + //行1 + ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("建设/监理单位"); + ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor"); + ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("施工单位\r\nConstruction Contractor"); + //行2 + ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue("记录人 :\r\nRecord Prepared by:"); + //行3 + ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("质量检查员:\r\nQuality Inspector:"); + //行5 + ws.GetRow(rowIndex + 6).GetCell(10).SetCellValue("焊接责任工程师:\r\nWelding Engineer:"); + //行6 + ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("日期Date: 年 月 日"); + ws.GetRow(rowIndex + 7).GetCell(4).SetCellValue("日期Date: 年 月 日"); + ws.GetRow(rowIndex + 7).GetCell(10).SetCellValue("日期Date: 年 月 日"); + + #endregion + + + //style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false); + //ws = ExcelCreateRowNew(ws, hssfworkbook, rowIndex + 8, rowIndex + 9, style, 0, 14, 18); + rowIndex += 9; + ws.SetRowBreak(rowIndex - 1); } + + + ws.PrintSetup.Landscape = true; + ws.ForceFormulaRecalculation = true; + ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; + //垂直水平居中 + ws.VerticallyCenter = true; + ws.HorizontallyCenter = true; + + //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); + } - + //22-射线检测比例确认表SHT 3503-J412-2007 private void template22(XSSFWorkbook hssfworkbook, XSSFSheet ws) { var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID); + ////模拟数据 + //string sql = "SELECT '' AS totalNum,'' TestPackageNo,'' PipelineId,'模拟数据' PipelineCode,'' Specification,'' MaterialCode,'' WelderCode,'' FNum,'' NdeNum,'' FNdeNum,'' NdeCode from Sys_User union all SELECT '' AS totalNum,'' TestPackageNo,'' PipelineId,'模拟数据' PipelineCode,'' Specification,'' MaterialCode,'' WelderCode,'' FNum,'' NdeNum,'' FNdeNum,'' NdeCode from Sys_User union all SELECT '' AS totalNum,'' TestPackageNo,'' PipelineId,'模拟数据' PipelineCode,'' Specification,'' MaterialCode,'' WelderCode,'' FNum,'' NdeNum,'' FNdeNum,'' NdeCode from Sys_User"; + string sql = @" SELECT COUNT(1) AS totalNum, t.TestPackageNo, @@ -3529,8 +3728,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage new SqlParameter("@PTPID",this.tvControlItem.SelectedNodeID), new SqlParameter("@projectId",this.CurrUser.LoginProjectId) }; - DataTable tb=SQLHelper.GetDataTableRunText(sql, parms); - var tbNum =tb.Rows.Count; + DataTable tb = SQLHelper.GetDataTableRunText(sql, parms); + var tbNum = tb.Rows.Count; var pageNum = tbNum < 8 ? 1 : Math.Ceiling((float)(tbNum - 8) / 8) + 1; @@ -3543,27 +3742,27 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 4, style, 0, 20, true); //设置列宽 - ws.SetColumnWidth(0, 13 * 256); - ws.SetColumnWidth(1, 6 * 256); - ws.SetColumnWidth(2, 21 * 256); - ws.SetColumnWidth(3, 6 * 256); - ws.SetColumnWidth(4, 7 * 256); - ws.SetColumnWidth(5, 7 * 256); - ws.SetColumnWidth(6, 7 * 256); - ws.SetColumnWidth(7, 7 * 256); - ws.SetColumnWidth(8, 7 * 256); - ws.SetColumnWidth(9, 7 * 256); - ws.SetColumnWidth(10, 7 * 256); - ws.SetColumnWidth(11, 7 * 256); - ws.SetColumnWidth(12, 7 * 256); - ws.SetColumnWidth(13, 7 * 256); - ws.SetColumnWidth(14, 7 * 256); - ws.SetColumnWidth(15, 7 * 256); - ws.SetColumnWidth(16, 7 * 256); - ws.SetColumnWidth(17, 5 * 256); - ws.SetColumnWidth(18, 7 * 256); - ws.SetColumnWidth(19, 7 * 256); - ws.SetColumnWidth(20, 25 * 256); + ws.SetColumnWidth(0, 9 * 256);//A + ws.SetColumnWidth(1, 4 * 256);//B + ws.SetColumnWidth(2, 9 * 256);//C + ws.SetColumnWidth(3, 5 * 256);//D + ws.SetColumnWidth(4, 5 * 256);//E + ws.SetColumnWidth(5, 4 * 256);//F + ws.SetColumnWidth(6, 4 * 256);//G + ws.SetColumnWidth(7, 7 * 256);//H + ws.SetColumnWidth(8, 6 * 256);//I + ws.SetColumnWidth(9, 6 * 256);//J + ws.SetColumnWidth(10, 5 * 256);//K + ws.SetColumnWidth(11, 7 * 256);//L + ws.SetColumnWidth(12, 6 * 256);//M + ws.SetColumnWidth(13, 5 * 256);//N + ws.SetColumnWidth(14, 4 * 256);//O + ws.SetColumnWidth(15, 6 * 256);//P + ws.SetColumnWidth(16, 4 * 256);//Q + ws.SetColumnWidth(17, 5 * 256);//R + ws.SetColumnWidth(18, 6 * 256);//S + ws.SetColumnWidth(19, 7 * 256);//T + ws.SetColumnWidth(20, 13 * 256);//U ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex + 3, 0, 2)); ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J412-1-2007"); @@ -3578,11 +3777,11 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 18, 20)); ws.GetRow(rowIndex).GetCell(18).SetCellValue($"工程名称:{info?.projectName}"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20)); - ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"Project Name:{info.enProjectName}"); + ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"Project Name:{info?.enProjectName}"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20)); - ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue($"单元名称:{info.workAreaName}"); + ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue($"单元名称:{info?.workAreaName}"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 18, 20)); - ws.GetRow(rowIndex + 3).GetCell(18).SetCellValue($"Unit Name:{info.enWorkAreaName}"); + ws.GetRow(rowIndex + 3).GetCell(18).SetCellValue($"Unit Name:{info?.enWorkAreaName}"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 3, 17)); ws.GetRow(rowIndex).GetCell(18).CellStyle = ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = ws.GetRow(rowIndex + 2).GetCell(18).CellStyle = ws.GetRow(rowIndex + 3).GetCell(18).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10.5, true, false); @@ -3619,8 +3818,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage #region 表格部分 ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 5, rowIndex + 6, style, 0, 20, true); - ws.GetRow(rowIndex + 5).Height = 29 * 20; - ws.GetRow(rowIndex + 6).Height = 43 * 20; + ws.GetRow(rowIndex + 5).Height = 25 * 20; + ws.GetRow(rowIndex + 6).Height = 30 * 20; var dataTit = rowIndex + 7; var dStart = 0; var dEnd = 0; @@ -3631,8 +3830,9 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage } else { - dStart = i == 2 ? 8 : ((i - 2) * 8) + 16; + dStart = i == 2 ? 8 : ((i - 2) * 8) + 8; dEnd = ((i - 1) * 8) + 8; + } //这里创建行数据 17-16 ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + 16, style, 0, 20, true); @@ -3692,7 +3892,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage for (int k = rowIndex + 7; k < rowIndex + 16; k++) { - ws.GetRow(k).Height = 28 * 20; + ws.GetRow(k).Height = 18 * 20; ws.AddMergedRegion(new CellRangeAddress(k, k, 0, 1)); ws.AddMergedRegion(new CellRangeAddress(k, k, 3, 4)); ws.AddMergedRegion(new CellRangeAddress(k, k, 5, 6)); @@ -3708,38 +3908,75 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage var pageTb = GetPageToTable(tb, dStart, dEnd); int j = 0; - foreach (DataRow dr in pageTb.Rows) - { + for (int k = 0; k < 8; k++) + { int dataIndex = dataTit + j; - - ws.GetRow(dataIndex).GetCell(0).SetCellValue(dr["PipelineCode"].ToString()); - ws.GetRow(dataIndex).GetCell(2).SetCellValue(dr["MaterialCode"].ToString()); - ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["Specification"].ToString()); - ws.GetRow(dataIndex).GetCell(5).SetCellValue(dr["totalNum"].ToString()); - ws.GetRow(dataIndex).GetCell(7).SetCellValue(dr["Fnum"].ToString()); - ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["WelderCode"].ToString()); - ws.GetRow(dataIndex).GetCell(11).SetCellValue(dr["Fnum"].ToString()); - ws.GetRow(dataIndex).GetCell(13).SetCellValue(dr["NdeNum"].ToString()); - ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["FNdeNum"].ToString()); - string a = string.IsNullOrEmpty(dr["NdeNum"].ToString())?"0": dr["NdeNum"].ToString(); - string b= string.IsNullOrEmpty(dr["Fnum"].ToString()) ? "0" : dr["Fnum"].ToString(); + if (pageTb.Rows.Count > k) + { + DataRow dr = pageTb.Rows[k]; + ws.GetRow(dataIndex).GetCell(0).SetCellValue(dr["PipelineCode"].ToString()); + ws.GetRow(dataIndex).GetCell(2).SetCellValue(dr["MaterialCode"].ToString()); + ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["Specification"].ToString()); + ws.GetRow(dataIndex).GetCell(5).SetCellValue(dr["totalNum"].ToString()); + ws.GetRow(dataIndex).GetCell(7).SetCellValue(dr["Fnum"].ToString()); + ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["WelderCode"].ToString()); + ws.GetRow(dataIndex).GetCell(11).SetCellValue(dr["Fnum"].ToString()); + ws.GetRow(dataIndex).GetCell(13).SetCellValue(dr["NdeNum"].ToString()); + ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["FNdeNum"].ToString()); + string a = string.IsNullOrEmpty(dr["NdeNum"].ToString()) ? "0" : dr["NdeNum"].ToString(); + string b = string.IsNullOrEmpty(dr["Fnum"].ToString()) ? "0" : dr["Fnum"].ToString(); - if (b == "0") - { - ws.GetRow(dataIndex).GetCell(17).SetCellValue("0%"); + if (b == "0") + { + ws.GetRow(dataIndex).GetCell(17).SetCellValue("0%"); + } + else + { + decimal rate = Math.Round((decimal.Parse(a) / decimal.Parse(b)), 2); + ws.GetRow(dataIndex).GetCell(17).SetCellValue($"{rate * 100}%"); + } + ws.GetRow(dataIndex).GetCell(20).SetCellValue(dr["NdeCode"].ToString()); } - else - { - decimal rate = Math.Round((decimal.Parse(a) / decimal.Parse(b)), 2); - ws.GetRow(dataIndex).GetCell(17).SetCellValue($"{rate * 100}%"); - } - ws.GetRow(dataIndex).GetCell(20).SetCellValue(dr["NdeCode"].ToString()); - //模拟数据 j++; } + + //foreach (DataRow dr in pageTb.Rows) + //{ + // int dataIndex = dataTit + j; + + // ws.GetRow(dataIndex).GetCell(0).SetCellValue(dr["PipelineCode"].ToString()); + // ws.GetRow(dataIndex).GetCell(2).SetCellValue(dr["MaterialCode"].ToString()); + // ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["Specification"].ToString()); + // ws.GetRow(dataIndex).GetCell(5).SetCellValue(dr["totalNum"].ToString()); + // ws.GetRow(dataIndex).GetCell(7).SetCellValue(dr["Fnum"].ToString()); + // ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["WelderCode"].ToString()); + // ws.GetRow(dataIndex).GetCell(11).SetCellValue(dr["Fnum"].ToString()); + // ws.GetRow(dataIndex).GetCell(13).SetCellValue(dr["NdeNum"].ToString()); + // ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["FNdeNum"].ToString()); + // string a = string.IsNullOrEmpty(dr["NdeNum"].ToString()) ? "0" : dr["NdeNum"].ToString(); + // string b = string.IsNullOrEmpty(dr["Fnum"].ToString()) ? "0" : dr["Fnum"].ToString(); + + // if (b == "0") + // { + // ws.GetRow(dataIndex).GetCell(17).SetCellValue("0%"); + // } + // else + // { + // decimal rate = Math.Round((decimal.Parse(a) / decimal.Parse(b)), 2); + // ws.GetRow(dataIndex).GetCell(17).SetCellValue($"{rate * 100}%"); + // } + // ws.GetRow(dataIndex).GetCell(20).SetCellValue(dr["NdeCode"].ToString()); + // //模拟数据 + // j++; + //} + + + + ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("小计\r\nTotal"); - + ws.GetRow(rowIndex + 15).Height = 30 * 20; + #endregion #region 尾部 @@ -3748,7 +3985,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 16).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\r\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints."); ws.GetRow(rowIndex + 16).GetCell(1).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10.5, true, false); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 1, 20)); - ws.GetRow(rowIndex + 16).Height = 29 * 20; + ws.GetRow(rowIndex + 16).Height = 28 * 20; style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10.5, true, false); @@ -3768,11 +4005,11 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + 17).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor"); ws.GetRow(rowIndex + 17).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company"); ws.GetRow(rowIndex + 17).GetCell(0).CellStyle = ws.GetRow(rowIndex + 17).GetCell(4).CellStyle = ws.GetRow(rowIndex + 17).GetCell(10).CellStyle = ws.GetRow(rowIndex + 17).GetCell(17).CellStyle = style1; - ws.GetRow(rowIndex + 17).Height = 33 * 20; + ws.GetRow(rowIndex + 17).Height = 28 * 20; ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 3)); ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - ws.GetRow(rowIndex + 18).Height = 31 * 20; + ws.GetRow(rowIndex + 18).Height = 25 * 20; ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 4, 9)); ws.GetRow(rowIndex + 18).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:"); @@ -3785,25 +4022,25 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 17, 20)); ws.GetRow(rowIndex + 20).GetCell(17).SetCellValue("质量检查员:\r\nQuality Inspector:"); - ws.GetRow(rowIndex + 20).Height = 31 * 20; + ws.GetRow(rowIndex + 20).Height = 25 * 20; ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 17, 20)); ws.GetRow(rowIndex + 22).GetCell(17).SetCellValue("制表:\r\nPrepared:"); - ws.GetRow(rowIndex + 22).Height = 31 * 20; + ws.GetRow(rowIndex + 22).Height = 25 * 20; ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 3)); - ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("日期Date: 年 月 日"); + ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("日期Date: 年 月 日"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 4, 9)); - ws.GetRow(rowIndex + 23).GetCell(4).SetCellValue("日期Date: 年 月 日"); + ws.GetRow(rowIndex + 23).GetCell(4).SetCellValue("日期Date: 年 月 日"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 10, 16)); - ws.GetRow(rowIndex + 23).GetCell(10).SetCellValue("日期Date: 年 月 日"); + ws.GetRow(rowIndex + 23).GetCell(10).SetCellValue("日期Date: 年 月 日"); ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 17, 20)); - ws.GetRow(rowIndex + 23).GetCell(17).SetCellValue("日期Date: 年 月 日"); - ws.GetRow(rowIndex + 23).Height = 29 * 20; + ws.GetRow(rowIndex + 23).GetCell(17).SetCellValue("日期Date: 年 月 日"); + ws.GetRow(rowIndex + 23).Height = 25 * 20; ws.GetRow(rowIndex + 23).GetCell(0).CellStyle = ws.GetRow(rowIndex + 23).GetCell(4).CellStyle = ws.GetRow(rowIndex + 23).GetCell(10).CellStyle = ws.GetRow(rowIndex + 23).GetCell(17).CellStyle = style2; @@ -3820,270 +4057,326 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 16, 16), ws); #endregion - rowIndex = rowIndex + 26; + rowIndex = rowIndex + 24; } - - 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); } //23-TP-09-超声&PAUT&TOFD检测比例确认表 private void template23(XSSFWorkbook hssfworkbook, XSSFSheet ws) { var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID); - #region 头部 - var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "宋体"); + + //模拟数据 + 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; - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 5, style, 0, 20, true); - - for (int i = 0; i < 21; i++) + for (int num = 1; num <= pageNum; num++) { - ws.GetRow(rowIndex).GetCell(i).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10); + #region 头部 + var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "宋体"); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 5, style, 0, 20, true); + + for (int i = 0; i < 21; i++) + { + ws.GetRow(rowIndex).GetCell(i).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10); + } + //设置列宽 + ws.SetColumnWidth(0, 10 * 256);//A + ws.SetColumnWidth(1, 4 * 256);//B + ws.SetColumnWidth(2, 7 * 256);//C + ws.SetColumnWidth(3, 5 * 256);//D + ws.SetColumnWidth(4, 5 * 256);//E + ws.SetColumnWidth(5, 5 * 256);//F + ws.SetColumnWidth(6, 5 * 256);//G + ws.SetColumnWidth(7, 6 * 256);//H + ws.SetColumnWidth(8, 7 * 256);//I + ws.SetColumnWidth(9, 6 * 256);//J + ws.SetColumnWidth(10, 4 * 256);//K + ws.SetColumnWidth(11, 6 * 256);//L + ws.SetColumnWidth(12, 4 * 256);//M + ws.SetColumnWidth(13, 4 * 256);//N + ws.SetColumnWidth(14, 6 * 256);//O + ws.SetColumnWidth(15, 6 * 256);//P + ws.SetColumnWidth(16, 5 * 256);//Q + ws.SetColumnWidth(17, 6 * 256);//R + ws.SetColumnWidth(18, 5 * 256);//S + ws.SetColumnWidth(19, 6 * 256);//T + ws.SetColumnWidth(20, 13 * 256);//U + + + + ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-09"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 4, 0, 2)); + ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503-J412-1-2007"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17)); + ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("管道焊接接头超声/PAUT/TOFD检测比例确认表(一)"); + ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 3, 3, 17)); + ws.GetRow(rowIndex + 2).GetCell(3).SetCellValue("Pipeline Welding Joints Ultrasonic Examination/PAUT/TOFD Rate Confirmation Form(I)"); + ws.GetRow(rowIndex + 2).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 4, 18, 20)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 3, 17)); + + + ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false); + ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n单元名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}"); + + ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue($"共 {pageNum} 页 第 {num} 页"); + + + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 5)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 6, 7)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 15)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 16, 17)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 18, 20)); + ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("执行标准\r\nApplicable code"); + ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("NB/T47013.3-2015"); + ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("检测方法\r\nExam. Method"); + ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("超声检测\r\nUT"); + ws.GetRow(rowIndex + 5).GetCell(16).SetCellValue("检测比例\r\nExam. Rate"); + ws.GetRow(rowIndex + 5).GetCell(18).SetCellValue("95%"); + + + //表头部分设置行高 + ws.GetRow(rowIndex).Height = 13 * 20; + ws.GetRow(rowIndex + 1).Height = 24 * 20; + ws.GetRow(rowIndex + 2).Height = 24 * 20; + ws.GetRow(rowIndex + 3).Height = 24 * 20; + ws.GetRow(rowIndex + 4).Height = 15 * 20; + ws.GetRow(rowIndex + 5).Height = 40 * 20; + #endregion + + #region 表格部分 + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 7, style, 0, 20, true); + + ws.GetRow(rowIndex + 6).Height = 25 * 20; + ws.GetRow(rowIndex + 7).Height = 40 * 20; + + + //设置表头部分 + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 7, 0, 1)); + ws.GetRow(rowIndex + 6).GetCell(0).SetCellValue("管道编号\r\nPipeline No."); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 7, 2, 2)); + ws.GetRow(rowIndex + 6).GetCell(2).SetCellValue("材质\r\nMaterial"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 3, 4)); + ws.GetRow(rowIndex + 6).GetCell(3).SetCellValue("规 格/Size"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 3, 4)); + ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("mm"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 8)); + ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("管道焊接接头\r\nWelding Joints"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 9, 12)); + ws.GetRow(rowIndex + 6).GetCell(9).SetCellValue("施焊焊工\r\nWelder"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 13, 16)); + ws.GetRow(rowIndex + 6).GetCell(13).SetCellValue("检测焊接接头\r\nExanined Joints"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 17, 19)); + ws.GetRow(rowIndex + 6).GetCell(17).SetCellValue("实际检测比例"); + + ws.GetRow(rowIndex + 6).GetCell(20).SetCellValue("检测报告编号"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 5, 6)); + ws.GetRow(rowIndex + 7).GetCell(5).SetCellValue("总数\r\nTotal"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 7, 8)); + ws.GetRow(rowIndex + 7).GetCell(7).SetCellValue("固定口数\r\nField Joints"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 9, 10)); + ws.GetRow(rowIndex + 7).GetCell(9).SetCellValue("焊工代号\r\nWelder No."); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 11, 12)); + ws.GetRow(rowIndex + 7).GetCell(11).SetCellValue("施焊数量\r\nWelded Joints"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 13, 14)); + ws.GetRow(rowIndex + 7).GetCell(13).SetCellValue("总数\r\nTotal Joints"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 15, 16)); + ws.GetRow(rowIndex + 7).GetCell(15).SetCellValue("固定口数\r\nField Joints"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 17, 19)); + ws.GetRow(rowIndex + 7).GetCell(17).SetCellValue("Actual exam. Rate"); + + ws.GetRow(rowIndex + 7).GetCell(20).SetCellValue("Examination Report No."); + + //这里创建行数据 + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 18, style, 0, 20, true); + + var dStart = 0; + var dEnd = 0; + if (num == 1) + { + 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 = 8; i < 16; i++) + { + ws.GetRow(rowIndex + i).Height = 17 * 20; + if (pageTb.Rows.Count > j) + { + var dr = pageTb.Rows[j]; + ws.GetRow(rowIndex + i).GetCell(0).SetCellValue("模拟数据"); + } + j++; + } + + //这里循环数据 + ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("小计\r\nTotal"); + ws.GetRow(rowIndex + 17).GetCell(0).SetCellValue("备注\r\nRemark"); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 1, 20)); + ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\r\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints."); + ws.GetRow(rowIndex + 17).GetCell(1).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false); + ws.GetRow(rowIndex + 16).Height = 28 * 20; + ws.GetRow(rowIndex + 17).Height = 28 * 20; + + #endregion + + #region 尾部 + + style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, true, false); + ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 18, rowIndex + 25, style, 0, 20, true); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 3)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 4, 9)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 10, 16)); + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 17, 20)); + + ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor"); + ws.GetRow(rowIndex + 18).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor"); + ws.GetRow(rowIndex + 18).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor"); + ws.GetRow(rowIndex + 18).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company"); + ws.GetRow(rowIndex + 18).Height = 28 * 20; + var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false); + ws.GetRow(rowIndex + 18).GetCell(0).CellStyle = ws.GetRow(rowIndex + 18).GetCell(4).CellStyle = ws.GetRow(rowIndex + 18).GetCell(10).CellStyle = ws.GetRow(rowIndex + 18).GetCell(17).CellStyle = style1; + + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 0, 3)); + ws.GetRow(rowIndex + 19).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + ws.GetRow(rowIndex + 19).Height = 28 * 20; + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 4, 9)); + ws.GetRow(rowIndex + 19).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 10, 16)); + ws.GetRow(rowIndex + 19).GetCell(10).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 17, 20)); + ws.GetRow(rowIndex + 19).GetCell(17).SetCellValue("专业工程师\r\nDiscipline Engineer:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 17, 20)); + ws.GetRow(rowIndex + 21).GetCell(17).SetCellValue("质量检查员:\r\nQuality Inspector:"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 17, 20)); + ws.GetRow(rowIndex + 23).GetCell(17).SetCellValue("制表:\r\nPrepared:"); + + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 3)); + ws.GetRow(rowIndex + 25).GetCell(0).SetCellValue("日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 4, 9)); + ws.GetRow(rowIndex + 25).GetCell(4).SetCellValue("日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 10, 16)); + ws.GetRow(rowIndex + 25).GetCell(10).SetCellValue("日期Date: 年 月 日"); + + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 17, 20)); + ws.GetRow(rowIndex + 25).GetCell(17).SetCellValue("日期Date: 年 月 日"); + + + ws.GetRow(rowIndex + 20).Height = 3 * 20; + ws.GetRow(rowIndex + 21).Height = 28 * 20; + ws.GetRow(rowIndex + 22).Height = 3 * 20; + ws.GetRow(rowIndex + 23).Height = 28 * 20; + ws.GetRow(rowIndex + 24).Height = 3 * 20; + ws.GetRow(rowIndex + 25).Height = 28 * 20; + + RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws); + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws); + RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 0, 0), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 20, 20), ws); + RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 20), ws); + + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 3, 3), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 9, 9), ws); + RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 16, 16), ws); + + #endregion + + rowIndex = rowIndex + 26; } - //设置列宽 - ws.SetColumnWidth(0, 11 * 256); - ws.SetColumnWidth(1, 6 * 256); - ws.SetColumnWidth(2, 10 * 256); - ws.SetColumnWidth(3, 6 * 256); - ws.SetColumnWidth(4, 6 * 256); - ws.SetColumnWidth(5, 7 * 256); - ws.SetColumnWidth(6, 7 * 256); - ws.SetColumnWidth(7, 7 * 256); - ws.SetColumnWidth(8, 7 * 256); - ws.SetColumnWidth(9, 7 * 256); - ws.SetColumnWidth(10, 7 * 256); - ws.SetColumnWidth(11, 7 * 256); - ws.SetColumnWidth(12, 7 * 256); - ws.SetColumnWidth(13, 7 * 256); - ws.SetColumnWidth(14, 7 * 256); - ws.SetColumnWidth(15, 7 * 256); - ws.SetColumnWidth(16, 7 * 256); - ws.SetColumnWidth(17, 7 * 256); - ws.SetColumnWidth(18, 7 * 256); - ws.SetColumnWidth(19, 7 * 256); - ws.SetColumnWidth(20, 24 * 256); - - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 4, 0, 2)); - ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503-J412-1-2007"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17)); - ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("管道焊接接头超声/PAUT/TOFD检测比例确认表(一)"); - ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 3, 3, 17)); - ws.GetRow(rowIndex + 2).GetCell(3).SetCellValue("Pipeline Welding Joints Ultrasonic Examination/PAUT/TOFD Rate Confirmation Form(I)"); - ws.GetRow(rowIndex + 2).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 4, 18, 20)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 3, 17)); - - - ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false); - ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n单元名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}"); - - ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("共 1 页 第 1 页"); - - - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 5)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 6, 7)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 15)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 16, 17)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 18, 20)); - ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("执行标准\r\nApplicable code"); - ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("NB/T47013.3-2015"); - ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("检测方法\r\nExam. Method"); - ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("超声检测\r\nUT"); - ws.GetRow(rowIndex + 5).GetCell(16).SetCellValue("检测比例\r\nExam. Rate"); - ws.GetRow(rowIndex + 5).GetCell(18).SetCellValue("95%"); - - - //表头部分设置行高 - ws.GetRow(rowIndex).Height = 13 * 20; - ws.GetRow(rowIndex + 1).Height = 27 * 20; - ws.GetRow(rowIndex + 2).Height = 27 * 20; - ws.GetRow(rowIndex + 4).Height = 19 * 20; - ws.GetRow(rowIndex + 5).Height = 39 * 20; - #endregion - - #region 表格部分 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 7, style, 0, 20, true); - - ws.GetRow(rowIndex + 6).Height = 28 * 20; - ws.GetRow(rowIndex + 7).Height = 42 * 20; - - - //设置表头部分 - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 7, 0, 1)); - ws.GetRow(rowIndex + 6).GetCell(0).SetCellValue("管道编号\r\nPipeline No."); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 7, 2, 2)); - ws.GetRow(rowIndex + 6).GetCell(2).SetCellValue("材质\r\nMaterial"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 3, 4)); - ws.GetRow(rowIndex + 6).GetCell(3).SetCellValue("规 格/Size"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 3, 4)); - ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("mm"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 8)); - ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("管道焊接接头\r\nWelding Joints"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 9, 12)); - ws.GetRow(rowIndex + 6).GetCell(9).SetCellValue("施焊焊工\r\nWelder"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 13, 16)); - ws.GetRow(rowIndex + 6).GetCell(13).SetCellValue("检测焊接接头\r\nExanined Joints"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 17, 19)); - ws.GetRow(rowIndex + 6).GetCell(17).SetCellValue("实际检测比例"); - - ws.GetRow(rowIndex + 6).GetCell(20).SetCellValue("检测报告编号"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 5, 6)); - ws.GetRow(rowIndex + 7).GetCell(5).SetCellValue("总数\r\nTotal"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 7, 8)); - ws.GetRow(rowIndex + 7).GetCell(7).SetCellValue("固定口数\r\nField Joints"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 9, 10)); - ws.GetRow(rowIndex + 7).GetCell(9).SetCellValue("焊工代号\r\nWelder No."); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 11, 12)); - ws.GetRow(rowIndex + 7).GetCell(11).SetCellValue("施焊数量\r\nWelded Joints"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 13, 14)); - ws.GetRow(rowIndex + 7).GetCell(13).SetCellValue("总数\r\nTotal Joints"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 15, 16)); - ws.GetRow(rowIndex + 7).GetCell(15).SetCellValue("固定口数\r\nField Joints"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 17, 19)); - ws.GetRow(rowIndex + 7).GetCell(17).SetCellValue("Actual exam. Rate"); - - ws.GetRow(rowIndex + 7).GetCell(20).SetCellValue("Examination Report No."); - - //这里创建行数据 - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 18, style, 0, 20, true); - for (int i = 8; i < 16; i++) - { - ws.GetRow(rowIndex + i).Height = 20 * 20; - } - //这里循环数据 - ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("小计\r\nTotal"); - ws.GetRow(rowIndex + 17).GetCell(0).SetCellValue("备注\r\nRemark"); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 1, 20)); - ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\r\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints."); - ws.GetRow(rowIndex + 17).GetCell(1).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false); - - #endregion - - #region 尾部 - - - style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, true, false); - ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 18, rowIndex + 25, style, 0, 20, true); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 3)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 4, 9)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 10, 16)); - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 17, 20)); - - ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor"); - ws.GetRow(rowIndex + 18).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor"); - ws.GetRow(rowIndex + 18).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor"); - ws.GetRow(rowIndex + 18).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company"); - ws.GetRow(rowIndex + 18).Height = 32 * 20; - var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false); - ws.GetRow(rowIndex + 18).GetCell(0).CellStyle = ws.GetRow(rowIndex + 18).GetCell(4).CellStyle = ws.GetRow(rowIndex + 18).GetCell(10).CellStyle = ws.GetRow(rowIndex + 18).GetCell(17).CellStyle = style1; - - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 0, 3)); - ws.GetRow(rowIndex + 19).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - ws.GetRow(rowIndex + 19).Height = 32 * 20; - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 4, 9)); - ws.GetRow(rowIndex + 19).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 10, 16)); - ws.GetRow(rowIndex + 19).GetCell(10).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 17, 20)); - ws.GetRow(rowIndex + 19).GetCell(17).SetCellValue("专业工程师\r\nDiscipline Engineer:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 17, 20)); - ws.GetRow(rowIndex + 21).GetCell(17).SetCellValue("质量检查员:\r\nQuality Inspector:"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 17, 20)); - ws.GetRow(rowIndex + 23).GetCell(17).SetCellValue("制表:\r\nPrepared:"); - - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 3)); - ws.GetRow(rowIndex + 25).GetCell(0).SetCellValue("日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 4, 9)); - ws.GetRow(rowIndex + 25).GetCell(4).SetCellValue("日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 10, 16)); - ws.GetRow(rowIndex + 25).GetCell(10).SetCellValue("日期Date: 年 月 日"); - - ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 17, 20)); - ws.GetRow(rowIndex + 25).GetCell(17).SetCellValue("日期Date: 年 月 日"); - - - RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws); - RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 0, 0), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 20, 20), ws); - RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 20), ws); - - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 3, 3), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 9, 9), ws); - RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 16, 16), ws); - - #endregion - - ws.PrintSetup.FitWidth = 1; - ws.PrintSetup.FitHeight = 0; - ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - - ws.FitToPage = true; - - //横向打印 ws.PrintSetup.Landscape = true; - //水平垂直居中 - ws.HorizontallyCenter = 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.PrintSetup.FitWidth = 1; + //ws.PrintSetup.FitHeight = 0; + //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small; - //页眉页脚间距 - ws.SetMargin(MarginType.HeaderMargin, 0); - ws.SetMargin(MarginType.FooterMargin, 0); + //ws.FitToPage = true; + + ////横向打印 + //ws.PrintSetup.Landscape = true; + ////水平垂直居中 + //ws.HorizontallyCenter = true; + //ws.VerticallyCenter = 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); } //24-TP-10-渗透&MT检测比例确认表 @@ -4541,7 +4834,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage }; DataTable tb = SQLHelper.GetDataTableRunText(sql, parms); - + var tbNum = tb.Rows.Count; var pageNum = @@ -4711,11 +5004,11 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage } for (int k = 6; k < 11; k++) { - ws.AddMergedRegion(new CellRangeAddress(k,k,2,3)); + 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, 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)); @@ -4744,12 +5037,12 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(rowIndex + k).GetCell(4).SetCellValue("-"); ws.GetRow(rowIndex + k).GetCell(12).SetCellValue("-"); } - + ws.GetRow(rowIndex + k).GetCell(6).SetCellValue("/"); ws.GetRow(rowIndex + k).GetCell(8).SetCellValue("/"); ws.GetRow(rowIndex + k).GetCell(16).SetCellValue("/"); } - + ws.AddMergedRegion(new CellRangeAddress(rowIndex + 11, rowIndex + 11, 1, 2)); ws.GetRow(rowIndex + 11).GetCell(1).SetCellValue("Line No."); @@ -4790,7 +5083,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage //获取当前页数据 var pageTb = GetPageToTable(tb, dStart, dEnd); int j = 0; - for (int hb = rowIndex+12; hb < rowIndex+17; hb++) + for (int hb = rowIndex + 12; hb < rowIndex + 17; hb++) { ws.GetRow(hb).Height = 18 * 20; ws.AddMergedRegion(new CellRangeAddress(hb, hb, 1, 2)); @@ -5675,7 +5968,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage : Math.Ceiling((float)(tbNum - 16) / 16) + 1; - for (int i =1; i <= pageNum; i++) + for (int i = 1; i <= pageNum; i++) { #region 头部 @@ -5802,13 +6095,13 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage ws.GetRow(dataIndex).GetCell(5).SetCellValue(dr["CleaningMedium"].ToString()); j++; } - + #endregion #region 尾部 ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 27, rowIndex + 34, style, 0, 6, true); - + //合并单元格合和填充值 ws.AddMergedRegion(new CellRangeAddress(rowIndex + 27, rowIndex + 27, 0, 6)); ws.GetRow(rowIndex + 27).GetCell(0).CellStyle = style2; @@ -6834,6 +7127,25 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage return ws; } + /// + /// 行和列 + /// + /// + private XSSFSheet ExcelCreateRowNew(XSSFSheet ws, XSSFWorkbook hssfworkbook, int sRows, int eRows, ICellStyle style, int cStart, int cEnd, float rowheigth = 13) + { + for (int i = sRows; i <= eRows; i++) + { + ws.CreateRow(i); + ws.GetRow(i).HeightInPoints = rowheigth; + for (int j = cStart; j <= cEnd; j++) + { + ws.GetRow(i).CreateCell(j); + ws.GetRow(i).GetCell(j).CellStyle = style; + } + } + return ws; + } + private ICellStyle SetStyle(XSSFWorkbook ws, BorderStyle top, BorderStyle bottom, BorderStyle left, BorderStyle right) { ICellStyle style = ws.CreateCellStyle();