diff --git a/HJGL/.vs/HJGL/config/applicationhost.config b/HJGL/.vs/HJGL/config/applicationhost.config
index 1963de0..e47cfd0 100644
--- a/HJGL/.vs/HJGL/config/applicationhost.config
+++ b/HJGL/.vs/HJGL/config/applicationhost.config
@@ -162,7 +162,7 @@
-
+
@@ -250,7 +250,7 @@
-
+
diff --git a/HJGL/BLL/BLL.csproj.user b/HJGL/BLL/BLL.csproj.user
index 07dbd5b..55f44b9 100644
--- a/HJGL/BLL/BLL.csproj.user
+++ b/HJGL/BLL/BLL.csproj.user
@@ -1,6 +1,6 @@
- ProjectFiles
+ ShowAllFiles
\ No newline at end of file
diff --git a/HJGL/FineUIPro.Web/FineUIPro.Web.csproj.user b/HJGL/FineUIPro.Web/FineUIPro.Web.csproj.user
index d0ff50b..8d0cdf2 100644
--- a/HJGL/FineUIPro.Web/FineUIPro.Web.csproj.user
+++ b/HJGL/FineUIPro.Web/FineUIPro.Web.csproj.user
@@ -1,7 +1,7 @@
- ShowAllFiles
+ ProjectFiles
Debug|Any CPU
true
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs
index b9a060a..21e8f6b 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs
+++ b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx.cs
@@ -7,6 +7,7 @@ using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
+using System.Runtime.InteropServices;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
@@ -2288,356 +2289,500 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
private void template13(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
+
+ //模拟数据
+ string sql = @"select '' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 8 ? 1 : Math.Ceiling((float)(tbNum - 8) / 8) + 1;
+
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
-
- #region 头部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 1, style, 1, 7, true);
- ws.SetColumnWidth(0, 2 * 256);
- for (int i = 1; i < 8; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.SetColumnWidth(i, 16 * 256);
- }
- ws.GetRow(rowIndex + 1).Height = 20 * 20 * 6;
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 2));
- ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503—J403");
+ #region 头部
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style, 1, 7, true);
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- style1.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 5));
- ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style1;
- ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("弹簧支/吊架安装检验记录\nSpring Support/Hanger Installation Inspection Record");
+ //设置列宽度
+ ws.SetColumnWidth(0, 2 * 256);
+ ws.SetColumnWidth(1, 16 * 256);
+ ws.SetColumnWidth(2, 16 * 256);
+ ws.SetColumnWidth(3, 16 * 256);
+ ws.SetColumnWidth(4, 16 * 256);
+ ws.SetColumnWidth(5, 16 * 256);
+ ws.SetColumnWidth(6, 19 * 256);
+ ws.SetColumnWidth(7, 19 * 256);
- var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
- style2.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 6, 7));
- ws.GetRow(rowIndex + 1).GetCell(6).CellStyle = style2;
- ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue($"工程名称:{info?.projectName}\n\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}");
+ ws.GetRow(rowIndex).Height = 20 * 20 * 6;
- #endregion
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 1, 2));
+ ws.GetRow(rowIndex).GetCell(1).SetCellValue("SH/T 3503—J403");
- #region 表格部分
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 2, rowIndex + 18, style, 1, 7, true);
- for (int i = 2; i < 19; i++)
- {
- if (i == 2)
- ws.GetRow(rowIndex + i).Height = 20 * 20 * 4;
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ style1.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 3, 5));
+ ws.GetRow(rowIndex).GetCell(3).CellStyle = style1;
+ ws.GetRow(rowIndex).GetCell(3).SetCellValue("弹簧支/吊架安装检验记录\nSpring Support/Hanger Installation Inspection Record");
+
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
+ style2.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 6, 7));
+ ws.GetRow(rowIndex).GetCell(6).CellStyle = style2;
+ ws.GetRow(rowIndex).GetCell(6).SetCellValue($"工程名称:{info?.projectName}\n\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}");
+
+ #endregion
+
+ #region 表格部分
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 9, style, 1, 7, true);
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 8;
+ }
else
- ws.GetRow(rowIndex + i).Height = 20 * 20 * 2;
+ {
+ 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 = 1; i <= 9; i++)
+ {
+ if (i == 1)
+ {
+ ws.GetRow(rowIndex + i).Height = 20 * 20 * 3;
+ ws.GetRow(rowIndex + i).GetCell(1).SetCellValue("管道编号/单线号\nPiping No./Line No.");
+ ws.GetRow(rowIndex + i).GetCell(2).SetCellValue("支/吊架位号\nSupport/Hanger Item No.");
+ ws.GetRow(rowIndex + i).GetCell(3).SetCellValue("结构型式\nType");
+ ws.GetRow(rowIndex + i).GetCell(4).SetCellValue("位移方向\nDisplacement Direction");
+ ws.GetRow(rowIndex + i).GetCell(5).SetCellValue("设计冷态负荷值\nDesign Cold Load");
+ ws.GetRow(rowIndex + i).GetCell(6).SetCellValue("安装冷态负荷值\nInstallation Cold Load");
+ ws.GetRow(rowIndex + i).GetCell(7).SetCellValue("检查结果\nInspection Result");
+ }
+ else
+ {
+ ws.GetRow(rowIndex + i).Height = 20 * 20;
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(1).SetCellValue("模拟数据");
+ }
+ j++;
+ }
+ }
+
+ #endregion
+
+ #region 尾部
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 10, rowIndex + 12, style, 1, 7, true);
+
+ ws.GetRow(rowIndex + 10).Height = 20 * 20 * 2;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 10, rowIndex + 10, 1, 7));
+ ws.GetRow(rowIndex + 10).GetCell(1).CellStyle = style2;
+ ws.GetRow(rowIndex + 10).GetCell(1).SetCellValue(" 备注:\n Remarks:");
+
+ ws.GetRow(rowIndex + 11).Height = 20 * 20 * 2;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 11, rowIndex + 11, 1, 2));
+ ws.GetRow(rowIndex + 11).GetCell(1).SetCellValue("建设/监理单位\nOwner/JianLi Contractor");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 11, rowIndex + 11, 3, 5));
+ ws.GetRow(rowIndex + 11).GetCell(3).SetCellValue("总 承 包 单 位\nGeneral Contractor");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 11, rowIndex + 11, 6, 7));
+ ws.GetRow(rowIndex + 11).GetCell(6).SetCellValue("施 工 单 位\nConstruction Contractor");
+
+ ws.GetRow(rowIndex + 12).Height = 20 * 20 * 6;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 12, rowIndex + 12, 1, 2));
+ ws.GetRow(rowIndex + 12).GetCell(1).CellStyle = style2;
+ ws.GetRow(rowIndex + 12).GetCell(1).SetCellValue(" 专业工程师:\n Discipline Engineer:\n\n\n\n\n 日期(DATE): 年 月 日");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 12, rowIndex + 12, 3, 5));
+ ws.GetRow(rowIndex + 12).GetCell(3).CellStyle = style2;
+ ws.GetRow(rowIndex + 12).GetCell(3).SetCellValue(" 专业工程师:\n Discipline Engineer:\n\n\n\n\n 日期(DATE): 年 月 日");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 12, rowIndex + 12, 6, 7));
+ ws.GetRow(rowIndex + 12).GetCell(6).CellStyle = style2;
+ ws.GetRow(rowIndex + 12).GetCell(6).SetCellValue(" 施工班组长:\n Foreman:\n 质量检查员:\n Quality Inspector:\n 专业工程师:\n Discipline Engineer: \n 日期(DATE): 年 月 日");
+
+ #endregion
+
+ rowIndex += 13;
+
+
}
- ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("管道编号/单线号\nPiping No./Line No.");
- ws.GetRow(rowIndex + 2).GetCell(2).SetCellValue("支/吊架位号\nSupport/Hanger Item No.");
- ws.GetRow(rowIndex + 2).GetCell(3).SetCellValue("结构型式\nType");
- ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("位移方向\nDisplacement Direction");
- ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("设计冷态负荷值\nDesign Cold Load");
- ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("安装冷态负荷值\nInstallation Cold Load");
- ws.GetRow(rowIndex + 2).GetCell(7).SetCellValue("检查结果\nInspection Result");
-
- #endregion
-
- #region 尾部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 19, rowIndex + 21, style, 1, 7, true);
-
- ws.GetRow(rowIndex + 19).Height = 20 * 20 * 2;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 1, 7));
- ws.GetRow(rowIndex + 19).GetCell(1).CellStyle = style2;
- ws.GetRow(rowIndex + 19).GetCell(1).SetCellValue(" 备注:\n Remarks:");
-
- ws.GetRow(rowIndex + 20).Height = 20 * 20 * 2;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 1, 2));
- ws.GetRow(rowIndex + 20).GetCell(1).SetCellValue("建设/监理单位\nOwner/JianLi Contractor");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 3, 5));
- ws.GetRow(rowIndex + 20).GetCell(3).SetCellValue("总 承 包 单 位\nGeneral Contractor");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 6, 7));
- ws.GetRow(rowIndex + 20).GetCell(6).SetCellValue("施 工 单 位\nConstruction Contractor");
-
- ws.GetRow(rowIndex + 21).Height = 20 * 20 * 6;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 1, 2));
- ws.GetRow(rowIndex + 21).GetCell(1).CellStyle = style2;
- ws.GetRow(rowIndex + 21).GetCell(1).SetCellValue(" 专业工程师:\n Discipline Engineer:\n\n\n\n\n 日期(DATE): 年 月 日");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 3, 5));
- ws.GetRow(rowIndex + 21).GetCell(3).CellStyle = style2;
- ws.GetRow(rowIndex + 21).GetCell(3).SetCellValue(" 专业工程师:\n Discipline Engineer:\n\n\n\n\n 日期(DATE): 年 月 日");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 6, 7));
- ws.GetRow(rowIndex + 21).GetCell(6).CellStyle = style2;
- ws.GetRow(rowIndex + 21).GetCell(6).SetCellValue(" 施工班组长:\n Foreman:\n 质量检查员:\n Quality Inspector:\n 专业工程师:\n Discipline Engineer: \n 日期(DATE): 年 月 日");
-
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
+ ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
//14-滑动固定管托安装检验记录SHT 3503-J404
private void template14(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
+
+ //模拟数据
+ string sql = @"select '' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 8 ? 1 : Math.Ceiling((float)(tbNum - 8) / 8) + 1;
+
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
-
- #region 头部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 1, style, 1, 7, true);
- ws.SetColumnWidth(0, 2 * 256);
- for (int i = 1; i < 8; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.SetColumnWidth(i, 16 * 256);
- }
- ws.GetRow(rowIndex + 1).Height = 20 * 20 * 5;
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 2));
- ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503—J404");
+ #region 头部
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 1, style, 1, 7, true);
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- style1.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 5));
- ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style1;
- ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("滑动/固定管托安装检验记录\nSliding/Fixed Pipe Shoe Installation Inspection Record");
+ //设置列宽度
+ ws.SetColumnWidth(0, 2 * 256);
+ ws.SetColumnWidth(1, 16 * 256);
+ ws.SetColumnWidth(2, 16 * 256);
+ ws.SetColumnWidth(3, 16 * 256);
+ ws.SetColumnWidth(4, 16 * 256);
+ ws.SetColumnWidth(5, 16 * 256);
+ ws.SetColumnWidth(6, 19 * 256);
+ ws.SetColumnWidth(7, 19 * 256);
+ ws.GetRow(rowIndex).Height = 20 * 20 * 5;
- var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
- style2.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 6, 7));
- ws.GetRow(rowIndex + 1).GetCell(6).CellStyle = style2;
- ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 1, 2));
+ ws.GetRow(rowIndex).GetCell(1).SetCellValue("SH/T 3503—J404");
- #endregion
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ style1.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 3, 5));
+ ws.GetRow(rowIndex).GetCell(3).CellStyle = style1;
+ ws.GetRow(rowIndex).GetCell(3).SetCellValue("滑动/固定管托安装检验记录\nSliding/Fixed Pipe Shoe Installation Inspection Record");
- #region 表格部分
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 2, rowIndex + 14, style, 1, 7, true);
- for (int i = 2; i < 15; i++)
- {
- if (i == 2)
- ws.GetRow(rowIndex + i).Height = 20 * 20 * 3;
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
+ style2.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 6, 7));
+ ws.GetRow(rowIndex).GetCell(6).CellStyle = style2;
+ ws.GetRow(rowIndex).GetCell(6).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}");
+
+ #endregion
+
+ #region 表格部分
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 9, style, 1, 7, true);
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 8;
+ }
else
- ws.GetRow(rowIndex + i).Height = 20 * 20 * 2;
+ {
+ 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 = 1; i <= 9; i++)
+ {
+ if (i == 1)
+ {
+ ws.GetRow(rowIndex + i).Height = 20 * 20 * 2;
+ ws.GetRow(rowIndex + i).GetCell(1).SetCellValue("管道编号/单线号\nPiping No./ Line");
+ ws.GetRow(rowIndex + i).GetCell(2).SetCellValue("管托编号\nPipe Shoe No.");
+ ws.GetRow(rowIndex + i).GetCell(3).SetCellValue("型 式\nType");
+ ws.GetRow(rowIndex + i).GetCell(4).SetCellValue("位移方向\nDisplacement Direction");
+ ws.GetRow(rowIndex + i).GetCell(5).SetCellValue("设计位移量\nDesign Displacement");
+ ws.GetRow(rowIndex + i).GetCell(6).SetCellValue("安装位移量\nInstallation Displacement");
+ ws.GetRow(rowIndex + i).GetCell(7).SetCellValue("检验结果\nInspection Result");
+ }
+ else
+ {
+ ws.GetRow(rowIndex + i).Height = 20 * 20;
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(1).SetCellValue("模拟数据");
+ }
+ j++;
+ }
+ }
+
+ #endregion
+
+ #region 尾部
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 10, rowIndex + 13, style, 1, 7, true);
+ ws.GetRow(rowIndex + 10).Height = 20 * 20 * 2;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 10, rowIndex + 10, 1, 7));
+ ws.GetRow(rowIndex + 10).GetCell(1).CellStyle = style2;
+ ws.GetRow(rowIndex + 10).GetCell(1).SetCellValue(" 注:本表用于设计温度>350℃管道和低于-29℃管道中,管托有位移要求的滑动和固定管托的安装检验。\nNote: This form is applicable to the installation inspection on sliding/fixed pipe shoes with displacement requirement used in piping at a design temperature above 350℃and in piping at a design temperature below -29℃.");
+
+ ws.GetRow(rowIndex + 11).Height = 20 * 20 * 2;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 11, rowIndex + 11, 1, 7));
+ ws.GetRow(rowIndex + 11).GetCell(1).CellStyle = style2;
+ ws.GetRow(rowIndex + 11).GetCell(1).SetCellValue(" 备注:\n Remarks:");
+
+ ws.GetRow(rowIndex + 12).Height = 20 * 20 * 2;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 12, rowIndex + 12, 1, 2));
+ ws.GetRow(rowIndex + 12).GetCell(1).SetCellValue("建设/监理单位\nOwner/JianLi Contractor");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 12, rowIndex + 12, 3, 5));
+ ws.GetRow(rowIndex + 12).GetCell(3).SetCellValue("总 承 包 单 位\nGeneral Contractor");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 12, rowIndex + 12, 6, 7));
+ ws.GetRow(rowIndex + 12).GetCell(6).SetCellValue("施 工 单 位\nConstruction Contractor");
+
+ ws.GetRow(rowIndex + 13).Height = 20 * 20 * 6;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 13, rowIndex + 13, 1, 2));
+ ws.GetRow(rowIndex + 13).GetCell(1).CellStyle = style2;
+ ws.GetRow(rowIndex + 13).GetCell(1).SetCellValue(" 专业工程师:\n Discipline Engineer:\n\n\n\n\n 日期(DATE): 年 月 日");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 13, rowIndex + 13, 3, 5));
+ ws.GetRow(rowIndex + 13).GetCell(3).CellStyle = style2;
+ ws.GetRow(rowIndex + 13).GetCell(3).SetCellValue(" 专业工程师:\n Discipline Engineer:\n\n\n\n\n 日期(DATE): 年 月 日");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 13, rowIndex + 13, 6, 7));
+ ws.GetRow(rowIndex + 13).GetCell(6).CellStyle = style2;
+ ws.GetRow(rowIndex + 13).GetCell(6).SetCellValue(" 施工班组长:\n Foreman:\n 质量检查员:\n Quality Inspector:\n 专业工程师:\n Discipline Engineer: \n 日期(DATE): 年 月 日");
+
+ #endregion
+
+ rowIndex += 14;
}
- ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("管道编号/单线号\nPiping No./ Line");
- ws.GetRow(rowIndex + 2).GetCell(2).SetCellValue("管托编号\nPipe Shoe No.");
- ws.GetRow(rowIndex + 2).GetCell(3).SetCellValue("型 式\nType");
- ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("位移方向\nDisplacement Direction");
- ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("设计位移量\nDesign Displacement");
- ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("安装位移量\nInstallation Displacement");
- ws.GetRow(rowIndex + 2).GetCell(7).SetCellValue("检验结果\nInspection Result");
- #endregion
-
- #region 尾部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 15, rowIndex + 18, style, 1, 7, true);
- ws.GetRow(rowIndex + 15).Height = 20 * 20 * 3;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 1, 7));
- ws.GetRow(rowIndex + 15).GetCell(1).CellStyle = style2;
- ws.GetRow(rowIndex + 15).GetCell(1).SetCellValue(" 注:本表用于设计温度>350℃管道和低于-29℃管道中,管托有位移要求的滑动和固定管托的安装检验。\nNote: This form is applicable to the installation inspection on sliding/fixed pipe shoes with displacement requirement used in piping at a design temperature above 350℃and in piping at a design temperature below -29℃.");
-
- ws.GetRow(rowIndex + 16).Height = 20 * 20 * 3;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 1, 7));
- ws.GetRow(rowIndex + 16).GetCell(1).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(1).SetCellValue(" 备注:\n Remarks:");
-
- ws.GetRow(rowIndex + 17).Height = 20 * 20 * 3;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 1, 2));
- ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue("建设/监理单位\nOwner/JianLi Contractor");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 3, 5));
- ws.GetRow(rowIndex + 17).GetCell(3).SetCellValue("总 承 包 单 位\nGeneral Contractor");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 6, 7));
- ws.GetRow(rowIndex + 17).GetCell(6).SetCellValue("施 工 单 位\nConstruction Contractor");
-
- ws.GetRow(rowIndex + 18).Height = 20 * 20 * 6;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 1, 2));
- ws.GetRow(rowIndex + 18).GetCell(1).CellStyle = style2;
- ws.GetRow(rowIndex + 18).GetCell(1).SetCellValue(" 专业工程师:\n Discipline Engineer:\n\n\n\n\n 日期(DATE): 年 月 日");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 3, 5));
- ws.GetRow(rowIndex + 18).GetCell(3).CellStyle = style2;
- ws.GetRow(rowIndex + 18).GetCell(3).SetCellValue(" 专业工程师:\n Discipline Engineer:\n\n\n\n\n 日期(DATE): 年 月 日");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 6, 7));
- ws.GetRow(rowIndex + 18).GetCell(6).CellStyle = style2;
- ws.GetRow(rowIndex + 18).GetCell(6).SetCellValue(" 施工班组长:\n Foreman:\n 质量检查员:\n Quality Inspector:\n 专业工程师:\n Discipline Engineer: \n 日期(DATE): 年 月 日");
-
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
+ ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
//15-管道补偿器安装检验记录SHT 3503-J405
private void template15(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 < 16 ? 1 : Math.Ceiling((float)(tbNum - 16) / 16) + 1;
+
int rowIndex = 0;
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 3, style, 0, 12, true);
-
- //设置列宽
- ws.SetColumnWidth(0, 17 * 256);
- ws.SetColumnWidth(1, 12 * 256);
- ws.SetColumnWidth(2, 10 * 256);
- ws.SetColumnWidth(3, 17 * 256);
- ws.SetColumnWidth(4, 14 * 256);
- ws.SetColumnWidth(5, 12 * 256);
- ws.SetColumnWidth(6, 15 * 256);
- ws.SetColumnWidth(7, 12 * 256);
- ws.SetColumnWidth(8, 13 * 256);
- ws.SetColumnWidth(9, 12 * 256);
- ws.SetColumnWidth(10, 12 * 256);
- ws.SetColumnWidth(11, 12 * 256);
- ws.SetColumnWidth(12, 12 * 256);
-
- ws.AddMergedRegion(new CellRangeAddress(0, 3, 0, 1));
- ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J405");
-
- ws.AddMergedRegion(new CellRangeAddress(0, 3, 2, 9));
- ws.GetRow(rowIndex).GetCell(2).SetCellValue("管道补偿器安装检验记录\r\nPipe Compensator Installation Inspection Record");
-
- ws.AddMergedRegion(new CellRangeAddress(0, 0, 10, 12));
- ws.AddMergedRegion(new CellRangeAddress(1, 1, 10, 12));
- ws.AddMergedRegion(new CellRangeAddress(2, 2, 10, 12));
- ws.AddMergedRegion(new CellRangeAddress(3, 3, 10, 12));
-
- ws.GetRow(rowIndex).GetCell(10).SetCellValue($"工程名称:{info?.projectName}");
- ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue($"Project Name:{info?.enProjectName}");
- ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue($"单位工程名称:{info?.workAreaName}");
- ws.GetRow(rowIndex + 3).GetCell(10).SetCellValue($"Unit Name:{info?.enWorkAreaName}");
-
-
-
- #endregion
-
- #region 表格部分
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 5, style, 0, 12, true);
-
- ws.GetRow(rowIndex + 4).Height = 30 * 20;
- ws.GetRow(rowIndex + 5).Height = 45 * 20;
- //设置表头部分
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 0, 0));
- ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("管道编号/单线号\r\nPiping No./Line No");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 1, 2));
- ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("补偿器编号\r\nCompensator No.");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 3, 3));
- ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("型式\r\nType");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 4, 4));
- ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("规格\r\nSpecification");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 5, 5));
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("材质\r\nMaterial");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 6, 6));
- ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("固定支架间距\r\nFixed Support SoacingM");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 7, 7));
- ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("设计压力\r\nDesign Pressure");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 8, 8));
- ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("设计温度\r\nDesign Temperature\r\n℃");
- ws.AddMergedRegion(new CellRangeAddress(4, 4, 9, 11));
- ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("轴/角向预变形量\r\nAxial/Angular Predeformation");
- ws.GetRow(rowIndex + 5).GetCell(9).SetCellValue("单位\r\nUnit");
- ws.GetRow(rowIndex + 5).GetCell(10).SetCellValue("设计值\r\nDesign Value");
- ws.GetRow(rowIndex + 5).GetCell(11).SetCellValue("实测值\r\nActual Value");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 12, 12));
- ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("检验结果\r\nInspection Result");
-
- //这里创建行数据
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 23, style, 0, 12, true);
- for (int i = 6; i < 24; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.GetRow(rowIndex + i).Height = 20 * 20;
+ #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 + 3, style, 0, 12, true);
+
+ //设置列宽
+ ws.SetColumnWidth(0, 14 * 256);//A
+ ws.SetColumnWidth(1, 8 * 256);//B
+ ws.SetColumnWidth(2, 8 * 256);//C
+ ws.SetColumnWidth(3, 9 * 256);//D
+ ws.SetColumnWidth(4, 9 * 256);//E
+ ws.SetColumnWidth(5, 8 * 256);//F
+ ws.SetColumnWidth(6, 13 * 256);//G
+ ws.SetColumnWidth(7, 9 * 256);//H
+ ws.SetColumnWidth(8, 13 * 256);//I
+ ws.SetColumnWidth(9, 9 * 256);//J
+ ws.SetColumnWidth(10, 9 * 256);//K
+ ws.SetColumnWidth(11, 9 * 256);//L
+ ws.SetColumnWidth(12, 10 * 256);//M
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 0, rowIndex + 3, 0, 1));
+ ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J405");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 0, rowIndex + 3, 2, 9));
+ ws.GetRow(rowIndex).GetCell(2).SetCellValue("管道补偿器安装检验记录\r\nPipe Compensator Installation Inspection Record");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 0, rowIndex + 0, 10, 12));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 10, 12));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 10, 12));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 10, 12));
+
+ ws.GetRow(rowIndex).GetCell(10).SetCellValue($"工程名称:{info?.projectName}");
+ ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue($"Project Name:{info?.enProjectName}");
+ ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue($"单位工程名称:{info?.workAreaName}");
+ ws.GetRow(rowIndex + 3).GetCell(10).SetCellValue($"Unit Name:{info?.enWorkAreaName}");
+
+ ws.GetRow(rowIndex).HeightInPoints = 19.8f;
+ ws.GetRow(rowIndex + 1).HeightInPoints = 13.8f;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 25f;
+ ws.GetRow(rowIndex + 3).HeightInPoints = 28f;
+
+ #endregion
+
+ #region 表格部分
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 5, style, 0, 12, true);
+
+ ws.GetRow(rowIndex + 4).HeightInPoints = 25f;
+ ws.GetRow(rowIndex + 5).HeightInPoints = 25f;
+ //设置表头部分
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 0, 0));
+ ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("管道编号/单线号\r\nPiping No./Line No");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 1, 2));
+ ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("补偿器编号\r\nCompensator No.");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 3, 3));
+ ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("型式\r\nType");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 4, 4));
+ ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("规格\r\nSpecification");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 5, 5));
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("材质\r\nMaterial");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 6, 6));
+ ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("固定支架间距\r\nFixed Support SoacingM");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 7, 7));
+ ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("设计压力\r\nDesign Pressure");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 8, 8));
+ ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("设计温度\r\nDesign Temperature\r\n℃");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 11));
+ ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("轴/角向预变形量\r\nAxial/Angular Predeformation");
+ ws.GetRow(rowIndex + 5).GetCell(9).SetCellValue("单位\r\nUnit");
+ ws.GetRow(rowIndex + 5).GetCell(10).SetCellValue("设计值\r\nDesign Value");
+ ws.GetRow(rowIndex + 5).GetCell(11).SetCellValue("实测值\r\nActual Value");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 12, 12));
+ ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("检验结果\r\nInspection Result");
+
+ //这里创建行数据
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 21, style, 0, 12, true);
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 16;
+ }
+ else
+ {
+ dStart = num == 2 ? 16 : ((num - 2) * 16) + 16;
+ dEnd = ((num - 1) * 16) + 16;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int j = 0;
+ for (int i = 6; i <= 21; i++)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 17f;
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(0).SetCellValue("模拟数据");
+ }
+ j++;
+ }
+
+ #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 + 22, rowIndex + 28, style, 0, 12, true);
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 0, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 4, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 9, 12));
+ ws.GetRow(rowIndex + 22).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor");
+ ws.GetRow(rowIndex + 22).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor");
+ ws.GetRow(rowIndex + 22).GetCell(9).SetCellValue("施工单位\r\nConstruction Contractor");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 1));
+ ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 9, 12));
+ ws.GetRow(rowIndex + 23).GetCell(9).SetCellValue("记录人 :\r\nRecord Prepared by:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 9, 12));
+ ws.GetRow(rowIndex + 25).GetCell(9).SetCellValue("质量检查员:\r\nQuality Inspector:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 27, rowIndex + 27, 9, 12));
+ ws.GetRow(rowIndex + 25).GetCell(9).SetCellValue("焊接责任工程师:\r\nWelding Engineer:");
+
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 28, 0, 3));
+ ws.GetRow(rowIndex + 28).GetCell(0).SetCellValue("日期Date: 年 月 日");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 28, 4, 8));
+ ws.GetRow(rowIndex + 28).GetCell(4).SetCellValue("日期Date: 年 月 日");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 28, 9, 12));
+ ws.GetRow(rowIndex + 28).GetCell(9).SetCellValue("日期Date: 年 月 日");
+
+ RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 22, rowIndex + 22, 0, 12), ws);
+ RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 22, rowIndex + 28, 0, 0), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 22, rowIndex + 28, 12, 12), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 28, rowIndex + 28, 0, 12), ws);
+
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 22, rowIndex + 28, 3, 3), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 22, rowIndex + 28, 8, 8), ws);
+
+ ws.GetRow(rowIndex + 22).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 23).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 24).HeightInPoints = 3f;
+ ws.GetRow(rowIndex + 25).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 26).HeightInPoints = 5f;
+ ws.GetRow(rowIndex + 27).HeightInPoints = 5f;
+ ws.GetRow(rowIndex + 28).HeightInPoints = 30f;
+
+ #endregion
+
+ rowIndex += 29;
}
- #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 + 24, rowIndex + 30, style, 0, 12, true);
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 3));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 4, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 9, 12));
- ws.GetRow(rowIndex + 24).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor");
- ws.GetRow(rowIndex + 24).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor");
- ws.GetRow(rowIndex + 24).GetCell(9).SetCellValue("施工单位\r\nConstruction Contractor");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 1));
- ws.GetRow(rowIndex + 25).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:");
- ws.GetRow(rowIndex + 25).Height = 31 * 20;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 9, 12));
- ws.GetRow(rowIndex + 25).GetCell(9).SetCellValue("记录人 :\r\nRecord Prepared by:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 27, rowIndex + 27, 9, 12));
- ws.GetRow(rowIndex + 27).GetCell(9).SetCellValue("质量检查员:\r\nQuality Inspector:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 29, rowIndex + 29, 9, 12));
- ws.GetRow(rowIndex + 27).GetCell(9).SetCellValue("焊接责任工程师:\r\nWelding Engineer:");
-
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 0, 3));
- ws.GetRow(rowIndex + 30).GetCell(0).SetCellValue("日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 4, 8));
- ws.GetRow(rowIndex + 30).GetCell(4).SetCellValue("日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 9, 12));
- ws.GetRow(rowIndex + 30).GetCell(9).SetCellValue("日期Date: 年 月 日");
-
- RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 12), ws);
- RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 0, 0), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 12, 12), ws);
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 30, rowIndex + 30, 0, 12), ws);
-
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 3, 3), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 8, 8), ws);
-
- ws.GetRow(rowIndex + 26).Height = ws.GetRow(rowIndex + 28).Height = ws.GetRow(rowIndex + 29).Height = 7 * 20;
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
- //横向打印
ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
+ ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////横向打印
+ //ws.PrintSetup.Landscape = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
//16-TP-08-静电接地清单UG-FW-001
@@ -2650,220 +2795,271 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
var img3 = Server.MapPath("~/res/images/bsf/3.png");
var img4 = Server.MapPath("~/res/images/bsf/4.png");
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 24 ? 1 : Math.Ceiling((float)(tbNum - 24) / 24) + 1;
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- #region 头部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 14, style, 0, 17, true);
- ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No.");
- ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06");
- //设置列宽度
- ws.SetColumnWidth(0, 2 * 256);
- ws.SetColumnWidth(1, 1 * 256);
- ws.SetColumnWidth(2, 8 * 256);
- ws.SetColumnWidth(3, 5 * 256);
- ws.SetColumnWidth(4, 5 * 256);
- ws.SetColumnWidth(5, 8 * 256);
- ws.SetColumnWidth(6, 8 * 256);
- ws.SetColumnWidth(7, 10 * 256);
- ws.SetColumnWidth(8, 10 * 256);
- ws.SetColumnWidth(9, 11 * 256);
- ws.SetColumnWidth(10, 9 * 256);
- ws.SetColumnWidth(11, 8 * 256);
- ws.SetColumnWidth(12, 1 * 256);
- ws.SetColumnWidth(13, 9 * 256);
- ws.SetColumnWidth(14, 9 * 256);
- ws.SetColumnWidth(15, 9 * 256);
- ws.SetColumnWidth(16, 8 * 256);
- ws.SetColumnWidth(17, 1 * 256);
- //设置前3行高度
- ws.GetRow(0).Height = 15 * 20;
- ws.GetRow(1).Height = 15 * 20;
- ws.GetRow(2).Height = 14 * 20;
-
- //设置3-15行的行高度
- for (int i = 3; i < 15; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.GetRow(i).Height = 18 * 20;
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
+
+ #region 头部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 14, style, 0, 17, true);
+ ws.GetRow(rowIndex).GetCell(14).SetCellValue("Form No.");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 14, 15));
+ ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06");
+ //设置列宽度
+ ws.SetColumnWidth(0, 2 * 256);//A
+ ws.SetColumnWidth(1, 1 * 256);//B
+ ws.SetColumnWidth(2, 5 * 256);//C
+ ws.SetColumnWidth(3, 4 * 256);//D
+ ws.SetColumnWidth(4, 4 * 256);//E
+ ws.SetColumnWidth(5, 5 * 256);//F
+ ws.SetColumnWidth(6, 5 * 256);//G
+ ws.SetColumnWidth(7, 5 * 256);//H
+ ws.SetColumnWidth(8, 6 * 256);//I
+ ws.SetColumnWidth(9, 7 * 256);//J
+ ws.SetColumnWidth(10, 6 * 256);//K
+ ws.SetColumnWidth(11, 6 * 256);//L
+ ws.SetColumnWidth(12, 1 * 256);//M
+ ws.SetColumnWidth(13, 6 * 256);//N
+ ws.SetColumnWidth(14, 6 * 256);//O
+ ws.SetColumnWidth(15, 6 * 256);//P
+ ws.SetColumnWidth(16, 7 * 256);//Q
+ ws.SetColumnWidth(17, 1 * 256);//R
+ //设置前3行高度
+ ws.GetRow(rowIndex).Height = 15 * 20;
+ ws.GetRow(rowIndex + 1).Height = 15 * 20;
+ ws.GetRow(rowIndex + 2).Height = 14 * 20;
+
+ //设置3-15行的行高度
+ for (int i = rowIndex + 3; i < rowIndex + 15; i++)
+ {
+ ws.GetRow(i).Height = 18 * 20;
+ }
+
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex, rowIndex, 1, 1), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws);
+
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 16, 16), ws);
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws);
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 2, 16), ws);
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 2, 16), ws);
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 14, 0, 0), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 1, 1), ws);
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 16, 16), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 17, 17), ws);
+
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 9, rowIndex + 14, 2, 2), ws);
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 2, 16), ws);
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 8, rowIndex + 8, 2, 16), ws);
+ //插入图片
+ InsertImage(hssfworkbook, ws, rowIndex + 3, 2, rowIndex + 4, 3, img1, 1.2, 1.8);
+ InsertImage(hssfworkbook, ws, rowIndex + 3, 3, rowIndex + 4, 4, img2, 1.9, 1.9);
+ InsertImage(hssfworkbook, ws, rowIndex + 3, 13, rowIndex + 4, 14, img3, 1.5, 1.5);
+ InsertImage(hssfworkbook, ws, rowIndex + 3, 15, rowIndex + 4, 16, img4, 1.5, 1.5);
+
+ ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目");
+ var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13));
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT");
+ ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13));
+ ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("管道静电接地清单");
+ ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13));
+ ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("LIST OF PIPING ELECTROSTATIC GROUNDING");
+ ws.GetRow(rowIndex + 6).GetCell(5).CellStyle = setStyle;
+
+ var cellStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
+ ws.GetRow(rowIndex + 9).GetCell(2).SetCellValue("Test Package No");
+ ws.GetRow(rowIndex + 9).GetCell(2).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 9).GetCell(5).SetCellValue(info?.testpackageNo);
+ ws.GetRow(rowIndex + 9).GetCell(5).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("Area");
+ ws.GetRow(rowIndex + 9).GetCell(9).CellStyle = cellStyle2;
+ ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue(info?.workAreaCode);
+
+ ws.GetRow(rowIndex + 10).GetCell(2).SetCellValue("试压包号");
+ ws.GetRow(rowIndex + 10).GetCell(2).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 10).GetCell(9).SetCellValue("区域");
+ ws.GetRow(rowIndex + 10).GetCell(9).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 11).GetCell(2).SetCellValue("System No");
+ ws.GetRow(rowIndex + 11).GetCell(2).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 11).GetCell(5).SetCellValue(info?.SystemNo);
+ ws.GetRow(rowIndex + 11).GetCell(5).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 11).GetCell(9).SetCellValue("Test Pressure");
+ ws.GetRow(rowIndex + 11).GetCell(9).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 11).GetCell(13).SetCellValue(info?.TestPressure);
+ ws.GetRow(rowIndex + 11).GetCell(13).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 12).GetCell(2).SetCellValue("系统号");
+ ws.GetRow(rowIndex + 12).GetCell(2).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 12).GetCell(9).SetCellValue("试验压力");
+ ws.GetRow(rowIndex + 12).GetCell(9).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 13).GetCell(9).SetCellValue("Test Type");
+ ws.GetRow(rowIndex + 13).GetCell(9).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 13).GetCell(13).SetCellValue(info?.TestType);
+ ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式");
+ ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13));
+
+ #endregion
+
+ #region 表格部分
+
+ style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 15, rowIndex + 40, style, 0, 17, true);
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 24;
+ }
+ else
+ {
+ dStart = num == 2 ? 24 : ((num - 2) * 24) + 24;
+ dEnd = ((num - 1) * 24) + 24;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+
+ ws.GetRow(rowIndex + 15).HeightInPoints = 28f;
+ //数据表头部分
+ ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号");
+ ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Isometric Drawing No\r\n单线图号");
+ ws.GetRow(rowIndex + 15).GetCell(8).SetCellValue("接头型式\r\nConnection Type");
+ ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("规格\r\nSpecification");
+ ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue("材质\r\nMaterial");
+ ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注");
+
+ int j = 0;
+ for (int i = 15; i <= 39; i++)
+ {
+ ws.GetRow(rowIndex + i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
+ ws.GetRow(rowIndex + i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.GetRow(rowIndex + i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 7));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 9));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 12));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 15));
+ if (i > 15)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 18f;
+
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(3).SetCellValue(dr["PTP_ID"].ToString());
+ }
+ j++;
+ }
+ }
+
+
+ #endregion
+
+ #region 尾部
+
+ //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 40, rowIndex + 45, style, 0, 17, true);
+ for (int i = rowIndex + 40; i <= rowIndex + 45; i++)
+ {
+ ws.GetRow(i).Height = 18 * 20;
+ ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
+ ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
+ ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ }
+
+ ws.GetRow(rowIndex + 40).HeightInPoints = 14f;
+ ws.GetRow(rowIndex + 41).HeightInPoints = 14f;
+ ws.GetRow(rowIndex + 42).HeightInPoints = 14f;
+
+ for (int i = 2; i < 17; i++)
+ {
+ ws.GetRow(rowIndex + 45).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
+ }
+ ws.GetRow(rowIndex + 45).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None);
+ ws.GetRow(rowIndex + 45).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
+ ws.GetRow(rowIndex + 45).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 2, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 5, 6));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 7, 9));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 10, 13));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 40, rowIndex + 42, 14, 16));
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 43, 2, 4));
+ ws.GetRow(rowIndex + 43).GetCell(2).SetCellValue("PREPARED");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 43, 5, 6));
+ ws.GetRow(rowIndex + 43).GetCell(5).SetCellValue("REVIEW");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 44, 7, 9));
+ ws.GetRow(rowIndex + 43).GetCell(7).SetCellValue("JIANLI");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 44, 10, 13));
+ ws.GetRow(rowIndex + 43).GetCell(10).SetCellValue("Worley");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 43, rowIndex + 44, 14, 16));
+ ws.GetRow(rowIndex + 43).GetCell(14).SetCellValue("BASF");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 44, 2, 6));
+ ws.GetRow(rowIndex + 44).GetCell(2).SetCellValue("CC7");
+ #endregion
+
+ rowIndex += 46;
+
}
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(0, 0, 1, 1), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 1, 17, 17), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 16, 16), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 17, 17), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 2, 16), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(2, 2, 2, 16), ws);
-
- RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 14, 0, 0), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 1, 1), ws);
-
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 16, 16), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 17, 17), ws);
-
-
- RegionUtil.SetBorderLeft(2, new CellRangeAddress(9, 14, 2, 2), ws);
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(7, 7, 2, 16), ws);
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(8, 8, 2, 16), ws);
- //插入图片
- InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8);
- InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 1.9, 1.9);
- InsertImage(hssfworkbook, ws, 3, 13, 4, 14, img3, 1.5, 1.5);
- InsertImage(hssfworkbook, ws, 3, 15, 4, 16, img4, 1.5, 1.5);
-
- ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目");
- var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13));
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT");
- ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13));
- ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("管道静电接地清单");
- ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13));
- ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("LIST OF PIPING ELECTROSTATIC GROUNDING");
- ws.GetRow(rowIndex + 6).GetCell(5).CellStyle = setStyle;
-
- var cellStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
- ws.GetRow(rowIndex + 9).GetCell(2).SetCellValue("Test Package No");
- ws.GetRow(rowIndex + 9).GetCell(2).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 9).GetCell(5).SetCellValue(info?.testpackageNo);
- ws.GetRow(rowIndex + 9).GetCell(5).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("Area");
- ws.GetRow(rowIndex + 9).GetCell(9).CellStyle = cellStyle2;
- ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue(info?.workAreaCode);
-
- ws.GetRow(rowIndex + 10).GetCell(2).SetCellValue("试压包号");
- ws.GetRow(rowIndex + 10).GetCell(2).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 10).GetCell(9).SetCellValue("区域");
- ws.GetRow(rowIndex + 10).GetCell(9).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 11).GetCell(2).SetCellValue("System No");
- ws.GetRow(rowIndex + 11).GetCell(2).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 11).GetCell(5).SetCellValue(info?.SystemNo);
- ws.GetRow(rowIndex + 11).GetCell(5).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 11).GetCell(9).SetCellValue("Test Pressure");
- ws.GetRow(rowIndex + 11).GetCell(9).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 11).GetCell(13).SetCellValue(info?.TestPressure);
- ws.GetRow(rowIndex + 11).GetCell(13).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 12).GetCell(2).SetCellValue("系统号");
- ws.GetRow(rowIndex + 12).GetCell(2).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 12).GetCell(9).SetCellValue("试验压力");
- ws.GetRow(rowIndex + 12).GetCell(9).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 13).GetCell(9).SetCellValue("Test Type");
- ws.GetRow(rowIndex + 13).GetCell(9).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 13).GetCell(13).SetCellValue(info?.TestType);
- ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式");
- ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13));
- #endregion
-
- #region 表格部分
-
-
- style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
- ws = ExcelCreateRow(ws, hssfworkbook, 15, rowIndex + 49, style, 0, 17, true);
- for (int i = 15; i < 50; i++)
- {
- ws.GetRow(i).Height = 20 * 20;
- ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
- ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 7));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 12));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 15));
- }
- ws.GetRow(15).Height = 28 * 20;
- //数据表头部分
- ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号");
- ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Isometric Drawing No\r\n单线图号");
- ws.GetRow(rowIndex + 15).GetCell(8).SetCellValue("接头型式\r\nConnection Type");
- ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("规格\r\nSpecification");
- ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue("材质\r\nMaterial");
- ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注");
-
- #endregion
-
- #region 尾部
-
- //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。
- ws = ExcelCreateRow(ws, hssfworkbook, 49, rowIndex + 55, style, 0, 17, true);
- for (int i = 49; i <= 55; i++)
- {
- ws.GetRow(i).Height = 18 * 20;
- ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
- ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
- ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- }
-
- for (int i = 2; i < 17; i++)
- {
- ws.GetRow(rowIndex + 55).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
- }
- ws.GetRow(rowIndex + 55).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None);
- ws.GetRow(rowIndex + 55).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
- ws.GetRow(rowIndex + 55).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 2, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 5, 6));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 7, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 10, 13));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 14, 16));
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 2, 4));
- ws.GetRow(rowIndex + 53).GetCell(2).SetCellValue("PREPARED");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 5, 6));
- ws.GetRow(rowIndex + 53).GetCell(5).SetCellValue("REVIEW");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 7, 9));
- ws.GetRow(rowIndex + 53).GetCell(7).SetCellValue("JIANLI");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 10, 13));
- ws.GetRow(rowIndex + 53).GetCell(10).SetCellValue("Worley");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 14, 16));
- ws.GetRow(rowIndex + 53).GetCell(14).SetCellValue("BASF");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6));
- ws.GetRow(rowIndex + 54).GetCell(2).SetCellValue("CC7");
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
+ ws.PrintSetup.Landscape = false;
+ ws.ForceFormulaRecalculation = true;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
@@ -2871,410 +3067,571 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
private void template17(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
+
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 9 ? 1 : Math.Ceiling((float)(tbNum - 9) / 9) + 1;
+
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
-
- #region 头部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 3, style, 1, 12, true);
- ws.SetColumnWidth(0, 2 * 256);
- ws.SetColumnWidth(1, 13 * 256);
- ws.SetColumnWidth(2, 12 * 256);
- ws.SetColumnWidth(3, 12 * 256);
- ws.SetColumnWidth(4, 10 * 256);
- ws.SetColumnWidth(5, 10 * 256);
- ws.SetColumnWidth(6, 10 * 256);
- ws.SetColumnWidth(7, 10 * 256);
- ws.SetColumnWidth(8, 12 * 256);
- ws.SetColumnWidth(9, 12 * 256);
- ws.SetColumnWidth(10, 12 * 256);
- ws.SetColumnWidth(11, 15 * 256);
- ws.SetColumnWidth(12, 15 * 256);
-
- ws.GetRow(rowIndex + 1).Height = 18 * 20 * 5;
- ws.GetRow(rowIndex + 2).Height = 18 * 20;
- ws.GetRow(rowIndex + 3).Height = 18 * 20 * 3;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 4));
- ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503—J411-1");
-
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- style1.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 5, 8));
- ws.GetRow(rowIndex + 1).GetCell(5).CellStyle = style1;
- ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("管道焊接接头热处理报告\nPiping Welded Joint Heat Treatment Report ");
-
- var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
- style2.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 9, 12));
- ws.GetRow(rowIndex + 1).GetCell(9).CellStyle = style2;
- ws.GetRow(rowIndex + 1).GetCell(9).SetCellValue($"工程名称:{info?.projectName}\n\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\n\nUnit Name:{info?.enWorkAreaName}");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 2, 12));
- ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("Report No.");
-
- ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("Heat Treatment Method");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 2, 6));
- ws.GetRow(rowIndex + 3).GetCell(7).SetCellValue("Heat Treatment Equipment");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 8, 12));
-
- #endregion
-
- #region 表格部分
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 12, style, 1, 12, true);
- for (int i = 4; i < 13; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.GetRow(rowIndex + i).Height = 20 * 20;
- if (4 == i)
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
+
+ #region 头部
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 2, style, 1, 12, true);
+ ws.SetColumnWidth(0, 1 * 256);//A
+ ws.SetColumnWidth(1, 11 * 256);//B
+ ws.SetColumnWidth(2, 9 * 256);//C
+ ws.SetColumnWidth(3, 11 * 256);//D
+ ws.SetColumnWidth(4, 9 * 256);//E
+ ws.SetColumnWidth(5, 11 * 256);//F
+ ws.SetColumnWidth(6, 11 * 256);//G
+ ws.SetColumnWidth(7, 11 * 256);//H
+ ws.SetColumnWidth(8, 10 * 256);//I
+ ws.SetColumnWidth(9, 10 * 256);//J
+ ws.SetColumnWidth(10, 10 * 256);//K
+ ws.SetColumnWidth(11, 11 * 256);//L
+ ws.SetColumnWidth(12, 11 * 256);//M
+
+ ws.GetRow(rowIndex).HeightInPoints = 100f;
+ ws.GetRow(rowIndex + 1).HeightInPoints = 18f;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 50f;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 1, 4));
+ ws.GetRow(rowIndex).GetCell(1).SetCellValue("SH/T 3503—J411-1");
+
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ style1.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 5, 8));
+ ws.GetRow(rowIndex).GetCell(5).CellStyle = style1;
+ var title = num == 1 ? "管道焊接接头热处理报告\nPiping Welded Joint Heat Treatment Report" : "管道焊接接头热处理报告(续)\nPiping Welded Joint Heat Treatment Report(Continued)";
+ ws.GetRow(rowIndex).GetCell(5).SetCellValue(title);
+
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
+ style2.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 9, 12));
+ ws.GetRow(rowIndex).GetCell(9).CellStyle = style2;
+ ws.GetRow(rowIndex).GetCell(9).SetCellValue($"工程名称:{info?.projectName}\n\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\n\nUnit Name:{info?.enWorkAreaName}");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 2, 12));
+ ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("Report No.");
+
+ ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("Heat Treatment Method");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 2, 6));
+ ws.GetRow(rowIndex + 2).GetCell(7).SetCellValue("Heat Treatment Equipment");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 12));
+
+ #endregion
+
+ #region 表格部分
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 1, 12, true);
+ for (int i = 3; i <= 13; i++)
{
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 1, 1));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 2, 2));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 3, 3));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 4, 5));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 7));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 8, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 9, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 10, 10));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 11, 11));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 12, 12));
+ ws.GetRow(rowIndex + i).Height = 20 * 20;
+ if (3 == i)
+ {
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 1, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 2, 2));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 3, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 4, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 7));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 8, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 9, 9));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 10, 10));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 11, 11));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 12, 12));
+ }
+ if (4 == i)
+ continue;
}
- if (5 == i)
- continue;
+ ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("Piping No./Line No.");
+ ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("Weld No.");
+ ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("Temp. Measuring Point No.");
+ ws.GetRow(rowIndex + 3).GetCell(4).SetCellValue("HT Temperature ℃");
+ ws.GetRow(rowIndex + 3).GetCell(6).SetCellValue("Holding Time h");
+ ws.GetRow(rowIndex + 3).GetCell(8).SetCellValue("Material");
+ ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("Specification");
+ ws.GetRow(rowIndex + 3).GetCell(10).SetCellValue("Heat Treatment Date");
+ ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue("Recording Curve No.");
+ ws.GetRow(rowIndex + 3).GetCell(12).SetCellValue("Hardness Report No.");
+
+ ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("Required");
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("Actual");
+ ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("Required");
+ ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("Actual");
+
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 9;
+ }
+ else
+ {
+ dStart = num == 2 ? 9 : ((num - 2) * 9) + 9;
+ dEnd = ((num - 1) * 9) + 9;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int j = 0;
+ for (int i = 5; i <= 13; i++)
+ {
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(2).SetCellValue(dr["PTP_ID"].ToString());
+ }
+ j++;
+ }
+
+
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 1, 12, true);
+ ws.GetRow(rowIndex + 14).Height = 18 * 20;
+ ws.GetRow(rowIndex + 15).Height = 18 * 20;
+ ws.GetRow(rowIndex + 16).Height = 18 * 20 * 4;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 12));
+ ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("Conclusion:");
+ ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 1, 3));
+ ws.GetRow(rowIndex + 15).GetCell(1).SetCellValue("Owner/Supervision Contractor");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 6));
+ ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("General Contractor");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 7, 9));
+ ws.GetRow(rowIndex + 15).GetCell(7).SetCellValue("Construction Contractor");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 12));
+ ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("Heat Treatment Contractor");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 1, 3));
+ ws.GetRow(rowIndex + 16).GetCell(1).SetCellValue(" Discipline Engineer:\n\n\n\n Date:");
+ ws.GetRow(rowIndex + 16).GetCell(1).CellStyle = style2;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 6));
+ ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue(" Discipline Engineer:\n\n\n\n Date:");
+ ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 7, 9));
+ ws.GetRow(rowIndex + 16).GetCell(7).SetCellValue(" Foreman:\n Quality Inspector:\n Discipline Engineer:\n\n Date:");
+ ws.GetRow(rowIndex + 16).GetCell(7).CellStyle = style2;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 12));
+ ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue(" Operator:\n Discipline Engineer:\n\n\n Date:");
+ ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2;
+
+ #endregion
+
+ rowIndex += 17;
+
}
- ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("Piping No./Line No.");
- ws.GetRow(rowIndex + 4).GetCell(2).SetCellValue("Weld No.");
- ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("Temp. Measuring Point No.");
- ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("HT Temperature ℃");
- ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("Holding Time h");
- ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("Material");
- ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("Specification");
- ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("Heat Treatment Date");
- ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("Recording Curve No.");
- ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("Hardness Report No.");
-
- ws.GetRow(rowIndex + 5).GetCell(4).SetCellValue("Required");
- ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("Actual");
- ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("Required");
- ws.GetRow(rowIndex + 5).GetCell(7).SetCellValue("Actual");
-
- #endregion
-
- #region 尾部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 13, rowIndex + 15, style, 1, 12, true);
- ws.GetRow(rowIndex + 13).Height = 18 * 20;
- ws.GetRow(rowIndex + 14).Height = 18 * 20;
- ws.GetRow(rowIndex + 15).Height = 18 * 20 * 4;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 13, rowIndex + 13, 1, 12));
- ws.GetRow(rowIndex + 13).GetCell(1).SetCellValue("Conclusion:");
- ws.GetRow(rowIndex + 13).GetCell(1).CellStyle = style2;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 3));
- ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("Owner/Supervision Contractor");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 4, 6));
- ws.GetRow(rowIndex + 14).GetCell(4).SetCellValue("General Contractor");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 7, 9));
- ws.GetRow(rowIndex + 14).GetCell(7).SetCellValue("Construction Contractor");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 10, 12));
- ws.GetRow(rowIndex + 14).GetCell(10).SetCellValue("Heat Treatment Contractor");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 1, 3));
- ws.GetRow(rowIndex + 15).GetCell(1).SetCellValue(" Discipline Engineer:\n\n\n\n Date:");
- ws.GetRow(rowIndex + 15).GetCell(1).CellStyle = style2;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 6));
- ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue(" Discipline Engineer:\n\n\n\n Date:");
- ws.GetRow(rowIndex + 15).GetCell(4).CellStyle = style2;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 7, 9));
- ws.GetRow(rowIndex + 15).GetCell(7).SetCellValue(" Foreman:\n Quality Inspector:\n Discipline Engineer:\n\n Date:");
- ws.GetRow(rowIndex + 15).GetCell(7).CellStyle = style2;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 12));
- ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue(" Operator:\n Discipline Engineer:\n\n\n Date:");
- ws.GetRow(rowIndex + 15).GetCell(10).CellStyle = style2;
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
- //横向打印
ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
+ ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+
+ //ws.FitToPage = true;
+
+ ////横向打印
+ //ws.PrintSetup.Landscape = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
//18-金属材料化学成分检验报告SHT 3503-J129
private void template18(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
+
+
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 11 ? 1 : Math.Ceiling((float)(tbNum - 11) / 11) + 1;
+
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
-
- #region 头部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 4, style, 1, 15, true);
- ws.SetColumnWidth(0, 2 * 256);
- for (int i = 1; i < 16; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- if (i == 3 || i == 4)
- ws.SetColumnWidth(i, 4 * 256);
- else if (i == 15)
- ws.SetColumnWidth(i, 8 * 256);
- else
- ws.SetColumnWidth(i, 5 * 256);
- }
- ws.GetRow(rowIndex + 1).Height = 20 * 20 * 6;
- for (int i = 2; i < 5; i++)
- {
- ws.GetRow(rowIndex + i).Height = 20 * 20 * 3;
- }
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 4));
- ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503—J129");
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- style1.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 5, 10));
- ws.GetRow(rowIndex + 1).GetCell(5).CellStyle = style1;
- ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("金属材料化学成分检验报告\nMetal Material Chemical Composition Test Report\n\n第 页 共 页 Page of ");
+ #region 头部
- var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
- style2.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 15));
- ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = style2;
- ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n单位工程名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 3, style, 1, 15, true);
- for (int i = 2; i < 5; i++)
- {
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 5));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 7));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 10));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 15));
- }
- ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("委托单位\nEntrusted by");
- ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("施工单位\nConstruction Contractor");
- ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue("报告编号\nReport No.");
- ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("检件名称\nTest Piece Description");
- ws.GetRow(rowIndex + 3).GetCell(6).SetCellValue("检验标准\nTest Criteria");
- ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue("被检验材料标准\nMaterial Specification");
- ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("检验方法\nTest Method");
- ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("设备型号\nEquipment Model");
- ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("检件材质\nTest Piece Material");
- #endregion
+ ws.SetColumnWidth(0, 1 * 256);//A
+ ws.SetColumnWidth(1, 5 * 256);//B
+ ws.SetColumnWidth(2, 5 * 256);//C
+ ws.SetColumnWidth(3, 4 * 256);//D
+ ws.SetColumnWidth(4, 4 * 256);//E
+ ws.SetColumnWidth(5, 6 * 256);//F
+ ws.SetColumnWidth(6, 6 * 256);//G
+ ws.SetColumnWidth(7, 6 * 256);//H
+ ws.SetColumnWidth(8, 6 * 256);//I
+ ws.SetColumnWidth(9, 6 * 256);//J
+ ws.SetColumnWidth(10, 6 * 256);//K
+ ws.SetColumnWidth(11, 6 * 256);//L
+ ws.SetColumnWidth(12, 6 * 256);//M
+ ws.SetColumnWidth(13, 5 * 256);//N
+ ws.SetColumnWidth(14, 5 * 256);//O
+ ws.SetColumnWidth(15, 8 * 256);//P
- #region 表格部分
+ //ws.SetColumnWidth(0, 2 * 256);
+ //for (int i = 1; i < 16; i++)
+ //{
+ // if (i == 3 || i == 4)
+ // ws.SetColumnWidth(i, 4 * 256);
+ // else if (i == 15)
+ // ws.SetColumnWidth(i, 8 * 256);
+ // else
+ // ws.SetColumnWidth(i, 5 * 256);
+ //}
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 5, rowIndex + 17, style, 1, 15, true);
- for (int i = 5; i < 18; i++)
- {
- if (i == 6)
+ ws.GetRow(rowIndex).Height = 20 * 20 * 6;
+
+ ws.GetRow(rowIndex + 1).HeightInPoints = 50;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 60;
+ ws.GetRow(rowIndex + 3).HeightInPoints = 50;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 1, 4));
+ ws.GetRow(rowIndex).GetCell(1).SetCellValue("SH/T 3503—J129");
+
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ style1.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 5, 10));
+ ws.GetRow(rowIndex).GetCell(5).CellStyle = style1;
+ ws.GetRow(rowIndex).GetCell(5).SetCellValue($"金属材料化学成分检验报告\nMetal Material Chemical Composition Test Report\n\n第 {num} 页 共 {pageNum} 页 Page of ");
+
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
+ style2.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 11, 15));
+ ws.GetRow(rowIndex).GetCell(11).CellStyle = style2;
+ ws.GetRow(rowIndex).GetCell(11).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n单位工程名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}");
+
+ for (int i = 1; i < 4; i++)
{
- ws.GetRow(rowIndex + i).Height = 60 * 20;
- continue;
- }
- if (i == 5)
- {
- ws.GetRow(rowIndex + i).Height = 60 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 1, 2));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 3, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 5, 5));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 15));
- }
- else
- {
- ws.GetRow(rowIndex + i).Height = 20 * 20;
ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 7));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 10));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 15));
}
+ ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("委托单位\nEntrusted by");
+ ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("施工单位\nConstruction Contractor");
+ ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue("报告编号\nReport No.");
+ ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("检件名称\nTest Piece Description");
+ ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检验标准\nTest Criteria");
+ ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue("被检验材料标准\nMaterial Specification");
+ ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("检验方法\nTest Method");
+ ws.GetRow(rowIndex + 3).GetCell(6).SetCellValue("设备型号\nEquipment Model");
+ ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue("检件材质\nTest Piece Material");
+ #endregion
+
+ #region 表格部分
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 16, style, 1, 15, true);
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 11;
+ }
+ else
+ {
+ dStart = num == 2 ? 11 : ((num - 2) * 11) + 11;
+ dEnd = ((num - 1) * 11) + 11;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int j = 0;
+ for (int i = 4; i < 17; i++)
+ {
+
+ if (i == 5)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 70f;
+ continue;
+ }
+ if (i == 4)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 60f;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 1, 2));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 3, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i + 1, 5, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 15));
+ }
+ else
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 20f;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
+
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(3).SetCellValue(dr["PTP_ID"].ToString());
+ }
+ j++;
+
+ }
+
+ }
+ ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("质量证明文件编号/炉批号\nQuality Certificate No./Heat No. or Lot No.");
+ ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("检验部位编号\nTest Position No.");
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("规格\nSpecification");
+ ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("元素含量%\nElement Content");
+
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 17, rowIndex + 23, style, 1, 15, true);
+ ws.GetRow(rowIndex + 17).Height = 20 * 20 * 4;
+ ws.GetRow(rowIndex + 23).Height = 90 * 20;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 1, 15));
+ ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue(" 检验结论Conclusion:\n 共检验点,符合标准要求点,不符合标准要求点,具体检验部位详见示意图。\n Totally points are tested, where points are conforming and points are nonconforming. For specific test positions, see the sketch.");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 1, 5));
+ ws.GetRow(rowIndex + 23).GetCell(1).SetCellValue("\n 试验人Tested by:\n\n\n 资格Qualification:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 6, 10));
+ ws.GetRow(rowIndex + 23).GetCell(6).SetCellValue("\n 审核人Reviewed by:\n\n\n 资格Qualification:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 11, 15));
+ ws.GetRow(rowIndex + 23).GetCell(11).SetCellValue(" 检测单位:(公章)\n\n Inspection Agency: (Official Seal)\n\n 报告日期Date: 年 月 日");
+
+ ws.GetRow(rowIndex + 17).GetCell(1).CellStyle = ws.GetRow(rowIndex + 23).GetCell(1).CellStyle = ws.GetRow(rowIndex + 23).GetCell(6).CellStyle = ws.GetRow(rowIndex + 23).GetCell(11).CellStyle = style2;
+ #endregion
+
+ rowIndex += 19;
}
- ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("质量证明文件编号/炉批号\nQuality Certificate No./Heat No. or Lot No.");
- ws.GetRow(rowIndex + 5).GetCell(3).SetCellValue("检验部位编号\nTest Position No.");
- ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("规格\nSpecification");
- ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("元素含量%\nElement Content");
- #endregion
-
- #region 尾部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 18, rowIndex + 19, style, 1, 15, true);
- ws.GetRow(rowIndex + 18).Height = 20 * 20 * 4;
- ws.GetRow(rowIndex + 19).Height = 90 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 1, 15));
- ws.GetRow(rowIndex + 18).GetCell(1).SetCellValue(" 检验结论Conclusion:\n 共检验点,符合标准要求点,不符合标准要求点,具体检验部位详见示意图。\n Totally points are tested, where points are conforming and points are nonconforming. For specific test positions, see the sketch.");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 1, 5));
- ws.GetRow(rowIndex + 19).GetCell(1).SetCellValue("\n 试验人Tested by:\n\n\n 资格Qualification:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 6, 10));
- ws.GetRow(rowIndex + 19).GetCell(6).SetCellValue("\n 审核人Reviewed by:\n\n\n 资格Qualification:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 11, 15));
- ws.GetRow(rowIndex + 19).GetCell(11).SetCellValue(" 检测单位:(公章)\n\n Inspection Agency: (Official Seal)\n\n 报告日期Date: 年 月 日");
-
- ws.GetRow(rowIndex + 18).GetCell(1).CellStyle = ws.GetRow(rowIndex + 19).GetCell(1).CellStyle = ws.GetRow(rowIndex + 19).GetCell(6).CellStyle = ws.GetRow(rowIndex + 19).GetCell(11).CellStyle = style2;
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
+ ws.PrintSetup.Landscape = false;
+ ws.ForceFormulaRecalculation = true;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
//19-硬度检查报告SHT 3503-J130
private void template19(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
+
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 15 ? 1 : Math.Ceiling((float)(tbNum - 15) / 15) + 1;
+
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
-
- #region 头部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 5, style, 1, 12, true);
- ws.SetColumnWidth(0, 2 * 256);
- ws.SetColumnWidth(1, 10 * 256);
- ws.SetColumnWidth(2, 5 * 256);
- ws.SetColumnWidth(3, 5 * 256);
- ws.SetColumnWidth(4, 5 * 256);
- ws.SetColumnWidth(5, 10 * 256);
- ws.SetColumnWidth(6, 5 * 256);
- ws.SetColumnWidth(7, 5 * 256);
- ws.SetColumnWidth(8, 5 * 256);
- ws.SetColumnWidth(9, 10 * 256);
- ws.SetColumnWidth(10, 5 * 256);
- ws.SetColumnWidth(11, 5 * 256);
- ws.SetColumnWidth(12, 5 * 256);
-
- ws.GetRow(rowIndex + 1).Height = 18 * 20 * 7;
- ws.GetRow(rowIndex + 2).Height = ws.GetRow(rowIndex + 3).Height = ws.GetRow(rowIndex + 4).Height = ws.GetRow(rowIndex + 5).Height = 41 * 20;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 3));
- ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503—J130");
-
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- style1.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 4, 9));
- ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = style1;
- ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("硬度检测报告\nHardness Test Report\n\n第 页 共 页 Page of ");
-
- var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
- style2.WrapText = true;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 10, 12));
- ws.GetRow(rowIndex + 1).GetCell(10).CellStyle = style2;
- ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue($"工程名称:{info?.projectName}\nProject Name:{info?.enProjectName}\n单位工程名称:{info?.workAreaName}\nUnit Name:{info?.enWorkAreaName}");
-
- for (int i = 2; i < 6; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 2, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 12));
- }
- ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("委托单位\nEntrusted by");
- ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("施工单位\nConstruction Contractor");
- ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("报告编号\nReport No.");
- ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("检件名称\nTest Piece Description");
- ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("检测标准\nTest Criteria");
- ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("验收标准\nMaterial Specification");
- ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("检件规格\nTest Piece Specification");
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("检件材质\nTest Piece Material");
- ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("检测比例\nTest Percentage");
- ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检测方法\nTest Position No.");
- ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("热处理状态\nHT Status");
- ws.GetRow(rowIndex + 5).GetCell(9).SetCellValue("设备型号\nEquipment Model");
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- #endregion
+ #region 头部
- #region 表格部分
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 4, style, 1, 12, true);
+ ws.SetColumnWidth(0, 1 * 256);//A
+ ws.SetColumnWidth(1, 10 * 256);//B
+ ws.SetColumnWidth(2, 5 * 256);//C
+ ws.SetColumnWidth(3, 5 * 256);//D
+ ws.SetColumnWidth(4, 5 * 256);//E
+ ws.SetColumnWidth(5, 10 * 256);//F
+ ws.SetColumnWidth(6, 5 * 256);//G
+ ws.SetColumnWidth(7, 7 * 256);//H
+ ws.SetColumnWidth(8, 5 * 256);//I
+ ws.SetColumnWidth(9, 10 * 256);//J
+ ws.SetColumnWidth(10, 7 * 256);//K
+ ws.SetColumnWidth(11, 7 * 256);//L
+ ws.SetColumnWidth(12, 7 * 256);//M
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 16, style, 1, 12, true);
+ ws.GetRow(rowIndex).HeightInPoints = 100f;
+ ws.GetRow(rowIndex + 1).HeightInPoints = 50f;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 50f;
+ ws.GetRow(rowIndex + 3).HeightInPoints = 50f;
+ ws.GetRow(rowIndex + 4).HeightInPoints = 50f;
- for (int i = 6; i < 17; i++)
- {
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
- if (i == 6)
- ws.GetRow(rowIndex + i).Height = 41 * 20;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 1, 3));
+ ws.GetRow(rowIndex).GetCell(1).SetCellValue("SH/T 3503—J130");
+
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ style1.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 4, 9));
+ ws.GetRow(rowIndex).GetCell(4).CellStyle = style1;
+ ws.GetRow(rowIndex).GetCell(4).SetCellValue($"硬度检测报告\nHardness Test Report\n\n第 {num} 页 共 {pageNum} 页 Page of ");
+
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
+ style2.WrapText = true;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 10, 12));
+ ws.GetRow(rowIndex).GetCell(10).CellStyle = style2;
+ ws.GetRow(rowIndex).GetCell(10).SetCellValue($"工程名称:{info?.projectName}\n\nProject Name:{info?.enProjectName}\n\n单位工程名称:{info?.workAreaName}\n\nUnit Name:{info?.enWorkAreaName}");
+
+ for (int i = 1; i < 5; i++)
+ {
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 2, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 12));
+ }
+ ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("委托单位\nEntrusted by");
+ ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("施工单位\nConstruction Contractor");
+ ws.GetRow(rowIndex + 1).GetCell(9).SetCellValue("报告编号\nReport No.");
+ ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("检件名称\nTest Piece Description");
+ ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("检测标准\nTest Criteria");
+ ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("验收标准\nMaterial Specification");
+ ws.GetRow(rowIndex + 3).GetCell(1).SetCellValue("检件规格\nTest Piece Specification");
+ ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("检件材质\nTest Piece Material");
+ ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("检测比例\nTest Percentage");
+ ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("检测方法\nTest Position No.");
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("热处理状态\nHT Status");
+ ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("设备型号\nEquipment Model");
+
+ #endregion
+
+ #region 表格部分
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 5, rowIndex + 20, style, 1, 12, true);
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 15;
+ }
else
- ws.GetRow(rowIndex + i).Height = 22 * 20;
+ {
+ dStart = num == 2 ? 15 : ((num - 2) * 15) + 15;
+ dEnd = ((num - 1) * 15) + 15;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+
+ int j = 0;
+ for (int i = 5; i < 21; i++)
+ {
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
+ if (i == 5)
+ {
+ ws.GetRow(rowIndex + i).Height = 41 * 20;
+ }
+ else
+ {
+ ws.GetRow(rowIndex + i).Height = 22 * 20;
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(3).SetCellValue(dr["PTP_ID"].ToString());
+ }
+ j++;
+ }
+ }
+ ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检测部位编号\nTest Position No.");
+ ws.GetRow(rowIndex + 5).GetCell(3).SetCellValue("硬度值\nHardness Value");
+ ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("检测部位编号\nTest Position No.");
+ ws.GetRow(rowIndex + 5).GetCell(7).SetCellValue("硬度值\nHardness Value");
+ ws.GetRow(rowIndex + 5).GetCell(9).SetCellValue("检测部位编号\nTest Position No.");
+ ws.GetRow(rowIndex + 5).GetCell(11).SetCellValue("硬度值\nHardness Value");
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 21, rowIndex + 22, style, 1, 12, true);
+ ws.GetRow(rowIndex + 21).HeightInPoints = 72f;
+ ws.GetRow(rowIndex + 22).HeightInPoints = 70f;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 1, 12));
+ ws.GetRow(rowIndex + 21).GetCell(1).SetCellValue("检测结论:\nConclusion:\n共检测点,符合标准要求点,不符合标准要求点,具体检测部位详见示意图。\nTotally points are tested, where points are conforming and points are nonconforming. For specific test positions, see the sketch.");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 1, 4));
+ ws.GetRow(rowIndex + 22).GetCell(1).SetCellValue("\n 试验人Tested by:\n\n\n 资格Qualification:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 5, 8));
+ ws.GetRow(rowIndex + 22).GetCell(5).SetCellValue("\n 审核人Reviewed by:\n\n\n 资格Qualification:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 9, 12));
+ ws.GetRow(rowIndex + 22).GetCell(9).SetCellValue(" 检测单位:(公章)\n\n Inspection Agency: (Official Seal)\n\n 报告日期Date: 年 月 日");
+
+ ws.GetRow(rowIndex + 21).GetCell(1).CellStyle = ws.GetRow(rowIndex + 22).GetCell(1).CellStyle = ws.GetRow(rowIndex + 22).GetCell(5).CellStyle = ws.GetRow(rowIndex + 22).GetCell(9).CellStyle = style2;
+
+ #endregion
+
+ rowIndex += 23;
}
- ws.GetRow(rowIndex + 6).GetCell(1).SetCellValue("检测部位编号\nTest Position No.");
- ws.GetRow(rowIndex + 6).GetCell(3).SetCellValue("硬度值\nHardness Value");
- ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("检测部位编号\nTest Position No.");
- ws.GetRow(rowIndex + 6).GetCell(7).SetCellValue("硬度值\nHardness Value");
- ws.GetRow(rowIndex + 6).GetCell(9).SetCellValue("检测部位编号\nTest Position No.");
- ws.GetRow(rowIndex + 6).GetCell(11).SetCellValue("硬度值\nHardness Value");
- #endregion
- #region 尾部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 17, rowIndex + 18, style, 1, 12, true);
- ws.GetRow(rowIndex + 17).Height = 18 * 20 * 4;
- ws.GetRow(rowIndex + 18).Height = 18 * 20 * 5;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 1, 12));
- ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue("检测结论:\nConclusion:\n共检测点,符合标准要求点,不符合标准要求点,具体检测部位详见示意图。\nTotally points are tested, where points are conforming and points are nonconforming. For specific test positions, see the sketch.");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 1, 4));
- ws.GetRow(rowIndex + 18).GetCell(1).SetCellValue("\n 试验人Tested by:\n\n\n 资格Qualification:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 5, 8));
- ws.GetRow(rowIndex + 18).GetCell(5).SetCellValue("\n 审核人Reviewed by:\n\n\n 资格Qualification:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 9, 12));
- ws.GetRow(rowIndex + 18).GetCell(9).SetCellValue(" 检测单位:(公章)\n\n Inspection Agency: (Official Seal)\n\n 报告日期Date: 年 月 日");
-
- ws.GetRow(rowIndex + 17).GetCell(1).CellStyle = ws.GetRow(rowIndex + 18).GetCell(1).CellStyle = ws.GetRow(rowIndex + 18).GetCell(5).CellStyle = ws.GetRow(rowIndex + 18).GetCell(9).CellStyle = style2;
-
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
+ ws.PrintSetup.Landscape = false;
+ ws.ForceFormulaRecalculation = true;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
@@ -3641,81 +3998,53 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
////模拟数据
//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,
- t.PipelineId,
- T.PipelineCode,
- t.Specification,
- t.MaterialCode,
- t.WelderCode,
- (SELECT COUNT(1) FROM dbo.View_Pipeline_WeldJoint AS jot
- WHERE jot.PipelineId=T.PipelineId AND jot.MaterialCode=t.MaterialCode AND jot.Specification=t.Specification
- AND jot.WelderCode=t.WelderCode AND jot.JointAttribute='固定F'
- ) AS FNum,
- SUM(T.NdeNum) AS NdeNum,
- SUM(t.FNdeNum) AS FNdeNum,
- NdeCode
- FROM
- (
- SELECT
- a.TestPackageNo,
- b.PipelineId,
- c.PipelineCode,
- c.WeldJointId,
- c.Specification,
- c.MaterialCode,
- c.WelderCode,
- (SELECT COUNT(1) FROM dbo.Batch_NDEItem nde
- LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
- WHERE trust.WeldJointId=c.WeldJointId) AS NdeNum, --检测数
-
- STUFF((SELECT nde.NDEReportNo FROM dbo.Batch_NDEItem nde
- LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
- WHERE trust.WeldJointId=c.WeldJointId for xml path('')),1,1,'') AS NdeCode, --检测报告编号
-
- (SELECT COUNT(1) FROM dbo.Batch_NDEItem nde
- LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
- LEFT JOIN dbo.Pipeline_WeldJoint j ON j.WeldJointId = trust.WeldJointId
- WHERE trust.WeldJointId=c.WeldJointId AND j.JointAttribute='固定F') AS FNdeNum --固定口检测数
- FROM dbo.PTP_TestPackage AS a
- INNER JOIN dbo.PTP_PipelineList AS b
- ON a.PTP_ID=b.PTP_ID
- LEFT JOIN dbo.View_Pipeline_WeldJoint AS C
- ON b.PipelineId=c.PipelineId
- WHERE b.isAll=1 and b.PTP_ID=@PTPID and a.projectId=@projectId
- UNION ALL
- SELECT
- a.TestPackageNo,
- b.PipelineId,
- c.PipelineCode,
- c.WeldJointId,
- c.Specification,
- c.MaterialCode,
- c.WelderCode,
- (SELECT COUNT(1) FROM dbo.Batch_NDEItem nde
- LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
- WHERE trust.WeldJointId=c.WeldJointId) AS NdeNum, --检测数
-
- STUFF((SELECT nde.NDEReportNo FROM dbo.Batch_NDEItem nde
- LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
- WHERE trust.WeldJointId=c.WeldJointId for xml path('')),1,1,'') AS NdeCode, --检测报告编号
-
- (SELECT COUNT(1) FROM dbo.Batch_NDEItem nde
- LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
- LEFT JOIN dbo.Pipeline_WeldJoint j ON j.WeldJointId = trust.WeldJointId
- WHERE trust.WeldJointId=c.WeldJointId AND j.JointAttribute='固定F') AS FNdeNum --固定口检测数
- FROM dbo.PTP_TestPackage AS a
- INNER JOIN dbo.PTP_PipelineList AS b
- ON a.PTP_ID=b.PTP_ID
- LEFT JOIN dbo.View_Pipeline_WeldJoint AS C
- ON b.PipelineId=c.PipelineId
- WHERE b.isAll=0 and b.PTP_ID=@PTPID and a.projectId=@projectId
- AND PATINDEX('%'+c.WeldJointCode+'%',b.WeldJonintCode)>0
- ) AS t
- GROUP BY t.TestPackageNo,t.PipelineCode,t.Specification,t.MaterialCode,t.WelderCode,
- t.PipelineId,t.NdeCode
- ";
+ string sql = @"SELECT H.*,
+ Ma.MaterialCode, PPline.Specification FROM
+ ( SELECT COUNT ( 1 ) AS totalNum,t.TestPackageNo,t.PipelineId,T.PipelineCode,t.WelderCode,
+ ( SELECT COUNT( 1 ) FROM dbo.View_Pipeline_WeldJoint AS jot
+ WHERE jot.PipelineId= T.PipelineId AND jot.WelderCode= t.WelderCode AND jot.JointAttribute= '固定F'
+ ) AS FNum,
+ SUM ( T.NdeNum ) AS NdeNum,
+ SUM ( t.FNdeNum ) AS FNdeNum,
+ NdeCode
+ FROM ( SELECT
+ a.TestPackageNo,b.PipelineId,c.PipelineCode,c.WeldJointId,c.WelderCode,
+ (SELECT COUNT( 1 ) FROM dbo.Batch_NDEItem nde
+ LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
+ WHERE trust.WeldJointId= c.WeldJointId ) AS NdeNum,--检测数
+ STUFF((SELECT nde.NDEReportNo FROM dbo.Batch_NDEItem nde
+ LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
+ WHERE trust.WeldJointId= c.WeldJointId FOR xml path ( '' ) ),1,1,'' ) AS NdeCode,--检测报告编号
+ (SELECT COUNT( 1 ) FROM dbo.Batch_NDEItem nde
+ LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
+ LEFT JOIN dbo.Pipeline_WeldJoint j ON j.WeldJointId = trust.WeldJointId
+ WHERE trust.WeldJointId= c.WeldJointId AND j.JointAttribute= '固定F' ) AS FNdeNum --固定口检测数
+ FROM dbo.PTP_TestPackage AS a
+ INNER JOIN dbo.PTP_PipelineList AS b ON a.PTP_ID= b.PTP_ID
+ LEFT JOIN dbo.View_Pipeline_WeldJoint AS C ON b.PipelineId= c.PipelineId
+ LEFT JOIN dbo.Pipeline_Pipeline AS d ON b.PipelineId= d.PipelineId
+ WHERE b.isAll= 1 and a.ProjectId=@projectId and a.PTP_ID=@PTPID
+ UNION ALL
+ SELECT a.TestPackageNo, b.PipelineId,d.PipelineCode,c.WeldJointId,c.WelderCode,
+ (SELECT COUNT( 1 )
+ FROM dbo.Batch_NDEItem nde LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
+ WHERE trust.WeldJointId= c.WeldJointId ) AS NdeNum,--检测数
+ STUFF((SELECT nde.NDEReportNo FROM dbo.Batch_NDEItem nde
+ LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
+ WHERE trust.WeldJointId= c.WeldJointId FOR xml path ( '' ) ),1,1,'' ) AS NdeCode,--检测报告编号
+ (SELECT COUNT( 1 )
+ FROM dbo.Batch_NDEItem nde LEFT JOIN dbo.Batch_BatchTrustItem trust ON trust.TrustBatchItemId = nde.TrustBatchItemId
+ LEFT JOIN dbo.Pipeline_WeldJoint j ON j.WeldJointId = trust.WeldJointId
+ WHERE trust.WeldJointId= c.WeldJointId AND j.JointAttribute= '固定F' ) AS FNdeNum --固定口检测数
+ FROM dbo.PTP_TestPackage AS a INNER JOIN dbo.PTP_PipelineList AS b ON a.PTP_ID= b.PTP_ID
+ LEFT JOIN dbo.View_Pipeline_WeldJoint AS C ON b.PipelineId= c.PipelineId
+ LEFT JOIN dbo.Pipeline_Pipeline AS d ON b.PipelineId= d.PipelineId
+ WHERE b.isAll= 0 AND PATINDEX( '%' + c.WeldJointCode+ '%', b.WeldJonintCode ) > 0
+ and a.ProjectId=@projectId and a.PTP_ID=@PTPID
+ ) AS t
+ GROUP BY t.TestPackageNo, t.PipelineCode, t.WelderCode, t.PipelineId, t.NdeCode ) AS H
+ LEFT JOIN Pipeline_Pipeline AS PPline ON H.PipelineId= PPline.PipelineId
+ LEFT JOIN Base_Material AS Ma ON PPline.MainMaterialId= Ma.MaterialId";
SqlParameter[] parms =
{
@@ -4017,7 +4346,6 @@ 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 = 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 = 25 * 20;
@@ -4041,18 +4369,18 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 19).Height = ws.GetRow(rowIndex + 21).Height = 14 * 20;
- RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws);
- RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 0, 0), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 20, 20), ws);
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 0, 20), ws);
+ RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws);
+ RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 0), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 20, 20), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 3, 3), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 9, 9), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 16, 16), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 3, 3), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 9, 9), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 16, 16), ws);
#endregion
- rowIndex = rowIndex + 24;
+ rowIndex = rowIndex + 23;
}
ws.PrintSetup.Landscape = true;
@@ -4231,7 +4559,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 7).GetCell(20).SetCellValue("Examination Report No.");
//这里创建行数据
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 18, style, 0, 20, true);
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 23, style, 0, 20, true);
var dStart = 0;
var dEnd = 0;
@@ -4272,20 +4600,20 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
#region 尾部
style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, true, false);
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 18, rowIndex + 25, style, 0, 20, true);
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 23, rowIndex + 25, style, 0, 20, true);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 3));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 4, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 10, 16));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 17, 20));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 4, 9));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 10, 16));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 17, 20));
- ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor");
- ws.GetRow(rowIndex + 18).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor");
- ws.GetRow(rowIndex + 18).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor");
- ws.GetRow(rowIndex + 18).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company");
- ws.GetRow(rowIndex + 18).Height = 28 * 20;
+ ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor");
+ ws.GetRow(rowIndex + 23).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor");
+ ws.GetRow(rowIndex + 23).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor");
+ ws.GetRow(rowIndex + 23).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company");
+ ws.GetRow(rowIndex + 23).Height = 28 * 20;
var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false);
- ws.GetRow(rowIndex + 18).GetCell(0).CellStyle = ws.GetRow(rowIndex + 18).GetCell(4).CellStyle = ws.GetRow(rowIndex + 18).GetCell(10).CellStyle = ws.GetRow(rowIndex + 18).GetCell(17).CellStyle = style1;
+ ws.GetRow(rowIndex + 23).GetCell(0).CellStyle = ws.GetRow(rowIndex + 23).GetCell(4).CellStyle = ws.GetRow(rowIndex + 23).GetCell(10).CellStyle = ws.GetRow(rowIndex + 23).GetCell(17).CellStyle = style1;
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 0, 3));
@@ -4328,15 +4656,15 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 24).Height = 3 * 20;
ws.GetRow(rowIndex + 25).Height = 28 * 20;
- RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws);
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws);
- RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 0, 0), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 20, 20), ws);
+ RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws);
+ RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 0, 0), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 20, 20), ws);
RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 20), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 3, 3), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 9, 9), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 25, 16, 16), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 3, 3), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 9, 9), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 25, 16, 16), ws);
#endregion
@@ -4377,206 +4705,261 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
private void template24(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
+
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 8 ? 1 : Math.Ceiling((float)(tbNum - 8) / 8) + 1;
+
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- #region 头部
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Right, 10, true, false, "Arial Unicode MS");
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style1, 0, 20, true);
-
- //设置行宽度
- ws.SetColumnWidth(0, 13 * 256);
- ws.SetColumnWidth(1, 3 * 256);
- ws.SetColumnWidth(2, 10 * 256);
- for (int i = 3; i < 20; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.SetColumnWidth(1, 3 * 256);
- }
- ws.SetColumnWidth(20, 23 * 256);
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, true, false, "Arial Unicode MS");
- //设置行高度
- ws.GetRow(rowIndex).Height = 10 * 20;
- ws.GetRow(rowIndex).GetCell(20).CellStyle = style1;
- ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-10");
+ #region 头部
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Right, 9, true, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style1, 0, 20, true);
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style, 0, 20, true);
- //设置行高度
- ws.GetRow(rowIndex + 1).Height = 10 * 20 * 9;
- ws.GetRow(rowIndex + 2).Height = 10 * 20 * 3;
+ //设置行宽度
+ ws.SetColumnWidth(0, 13 * 256);//A
+ ws.SetColumnWidth(1, 2 * 256);//B
+ ws.SetColumnWidth(2, 7 * 256);//C
+ ws.SetColumnWidth(3, 5 * 256);//D
+ ws.SetColumnWidth(4, 4 * 256);//E
+ ws.SetColumnWidth(5, 5 * 256);//F
+ ws.SetColumnWidth(6, 6 * 256);//G
+ ws.SetColumnWidth(7, 6 * 256);//H
+ ws.SetColumnWidth(8, 6 * 256);//I
+ ws.SetColumnWidth(9, 5 * 256);//J
+ ws.SetColumnWidth(10, 5 * 256);//K
+ ws.SetColumnWidth(11, 5 * 256);//L
+ ws.SetColumnWidth(12, 7 * 256);//M
+ ws.SetColumnWidth(13, 5 * 256);//N
+ ws.SetColumnWidth(14, 5 * 256);//O
+ ws.SetColumnWidth(15, 5 * 256);//P
+ ws.SetColumnWidth(16, 5 * 256);//Q
+ ws.SetColumnWidth(17, 6 * 256);//R
+ ws.SetColumnWidth(18, 6 * 256);//S
+ ws.SetColumnWidth(19, 6 * 256);//T
+ ws.SetColumnWidth(20, 13 * 256);//U
- //合并单元格和填充文本
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 2));
- ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("");
+ //设置行高度
+ ws.GetRow(rowIndex).HeightInPoints = 10f;
+ ws.GetRow(rowIndex).GetCell(20).CellStyle = style1;
+ ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-10");
- var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17));
- ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style3;
- ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("管道焊接接头渗透/磁粉检测比例确认表(一)\nPipeline Welding Joints Penetrant/Magnetic Examination Rate Confirmation Form(I)\n共 1 页 第 1 页");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style, 0, 20, true);
+ //设置行高度
+ ws.GetRow(rowIndex + 1).HeightInPoints = 90f;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 30f;
- var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false, "Arial Unicode MS");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20));
- ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = style2;
- ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"\n工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单元名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}");
+ //合并单元格和填充文本
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 2));
+ ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("");
- ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("执行标准\nApplicable code");
+ var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 13, true, true, "Arial Unicode MS");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17));
+ ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style3;
+ ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue($"管道焊接接头渗透/磁粉检测比例确认表(一)\nPipeline Welding Joints Penetrant/Magnetic Examination Rate Confirmation Form(I)\n共 {pageNum} 页 第 {num} 页");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 1, 5));
- ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("NB/T47013.3-2015");
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 9, true, false, "Arial Unicode MS");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20));
+ ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = style2;
+ ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"\n工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单元名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 6, 7));
- ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检测方法\nExam. Method");
+ ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("执行标准\nApplicable code");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 15));
- ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("渗透检测\nPT");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 1, 5));
+ ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("NB/T47013.3-2015");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 17));
- ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("检测比例\nExam. Rate");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 6, 7));
+ ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检测方法\nExam. Method");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20));
- ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("95%");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 15));
+ ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("渗透检测\nPT");
- #endregion
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 17));
+ ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("检测比例\nExam. Rate");
- #region 表格部分
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20));
+ ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("95%");
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 0, 20, true);
- //设置高度和合并列填充文本
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 1));
- ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("管道编号\nPipeline No.");
+ #endregion
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 2, 2));
- ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("材质\nMaterial");
+ #region 表格部分
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 4));
- ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("规 格/Size\n mm");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 0, 20, true);
+ //设置高度和合并列填充文本
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 1));
+ ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("管道编号\nPipeline No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 8));
- ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("管道焊接接头\nWelding Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 2, 2));
+ ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("材质\nMaterial");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 9, 12));
- ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("施焊焊工\nWelder");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 4));
+ ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("规 格/Size\n mm");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 13, 16));
- ws.GetRow(rowIndex + 3).GetCell(13).SetCellValue("检测焊接接头\nExanined Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 8));
+ ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("管道焊接接头\nWelding Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 6));
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("总数\nTotal");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 9, 12));
+ ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("施焊焊工\nWelder");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 8));
- ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("固定口数\nField Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 13, 16));
+ ws.GetRow(rowIndex + 3).GetCell(13).SetCellValue("检测焊接接头\nExanined Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 10));
- ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊工代号\nWelder No.");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 6));
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("总数\nTotal");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12));
- ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("施焊数量\nWelded Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 8));
+ ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("固定口数\nField Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 13, 14));
- ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("总数\nTotal Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 10));
+ ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊工代号\nWelder No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 16));
- ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("固定口数\nField Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12));
+ ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("施焊数量\nWelded Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 17, 19));
- ws.GetRow(rowIndex + 3).GetCell(17).SetCellValue("实际检测比例\nActual exam. Rate");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 13, 14));
+ ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("总数\nTotal Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 20, 20));
- ws.GetRow(rowIndex + 3).GetCell(20).SetCellValue("检测报告编号\nExamination Report No.");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 16));
+ ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("固定口数\nField Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 17, 19));
+ ws.GetRow(rowIndex + 3).GetCell(17).SetCellValue("实际检测比例\nActual exam. Rate");
- for (int i = 3; i < 14; i++)
- {
- if (i == 3 || i == 4)
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 20, 20));
+ ws.GetRow(rowIndex + 3).GetCell(20).SetCellValue("检测报告编号\nExamination Report No.");
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
{
- ws.GetRow(rowIndex + i).Height = 30 * 20;
- continue;
+ dStart = 0;
+ dEnd = 8;
}
-
- if (i == 13)
- ws.GetRow(rowIndex + i).Height = 30 * 20;
else
- ws.GetRow(rowIndex + i).Height = 19 * 20;
+ {
+ dStart = num == 2 ? 8 : ((num - 2) * 8) + 8;
+ dEnd = ((num - 1) * 8) + 8;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19));
+ int j = 0;
+ for (int i = 3; i < 14; i++)
+ {
+ if (i == 3 || i == 4)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 30f;
+ continue;
+ }
+ if (i == 13)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 30f;
+ }
+ else
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 17f;
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(0).SetCellValue("模拟数据");
+ }
+ j++;
+ }
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19));
+ }
+ ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal");
+
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 0, 20, true);
+ //设置行高
+ ws.GetRow(rowIndex + 14).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 15).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 16).HeightInPoints = 125f;
+
+ ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\nRemark");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20));
+
+ ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2;
+ ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints.");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3));
+ ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建 设 / 监 理 单 位\nOwner/JianLi Company");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9));
+ ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总 承 包 单 位\nGeneral Contractor");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16));
+ ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\nExamination Contractor");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20));
+ ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\nConstruction Company");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3));
+ ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2;
+ ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9));
+ ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2;
+ ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16));
+ ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2;
+ ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20));
+ ws.GetRow(rowIndex + 16).GetCell(17).CellStyle = style2;
+ ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\n Discipline Engineer: \n 质量检查员:\n Quality Inspector:\n 制表:\n\n Prepared:\n 日期Date: 年 月 日");
+
+ #endregion
+
+ rowIndex += 17;
}
- ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal");
- #endregion
- #region 尾部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 0, 20, true);
- //设置行高
- ws.GetRow(rowIndex + 14).Height = 20 * 20 * 2;
- ws.GetRow(rowIndex + 15).Height = 20 * 20 * 2;
- ws.GetRow(rowIndex + 16).Height = 20 * 20 * 7;
-
- ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\nRemark");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20));
-
- ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2;
- ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints.");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3));
- ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建 设 / 监 理 单 位\nOwner/JianLi Company");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9));
- ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总 承 包 单 位\nGeneral Contractor");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16));
- ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\nExamination Contractor");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20));
- ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\nConstruction Company");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3));
- ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9));
- ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16));
- ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20));
- ws.GetRow(rowIndex + 16).GetCell(17).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 制表:\n Prepared:\n\n 日期Date: 年 月 日");
-
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
- //水平垂直居中
- ws.HorizontallyCenter = true;
- ws.VerticallyCenter = true;
-
- //横向打印
ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
+ ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////水平垂直居中
+ //ws.HorizontallyCenter = true;
+ //ws.VerticallyCenter = true;
+ ////横向打印
+ //ws.PrintSetup.Landscape = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
@@ -4584,206 +4967,265 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
private void template25_1(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
- int rowIndex = 0;
+
var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- #region 头部
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Right, 10, true, false, "Arial Unicode MS");
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style1, 0, 20, true);
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
- //设置行宽度
- ws.SetColumnWidth(0, 13 * 256);
- ws.SetColumnWidth(1, 3 * 256);
- ws.SetColumnWidth(2, 10 * 256);
- for (int i = 3; i < 20; i++)
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 8 ? 1 : Math.Ceiling((float)(tbNum - 8) / 8) + 1;
+
+ int rowIndex = 0;
+ for (int num = 1; num <= pageNum; num++)
{
- ws.SetColumnWidth(1, 3 * 256);
- }
- ws.SetColumnWidth(20, 23 * 256);
- //设置行高度
- ws.GetRow(rowIndex).Height = 10 * 20;
- ws.GetRow(rowIndex).GetCell(20).CellStyle = style1;
- ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-10");
+ #region 头部
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Right, 9, true, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style1, 0, 20, true);
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style, 0, 20, true);
- //设置行高度
- ws.GetRow(rowIndex + 1).Height = 10 * 20 * 9;
- ws.GetRow(rowIndex + 2).Height = 10 * 20 * 3;
+ //设置行宽度
+ ws.SetColumnWidth(0, 13 * 256);//A
+ ws.SetColumnWidth(1, 2 * 256);//B
+ ws.SetColumnWidth(2, 7 * 256);//C
+ ws.SetColumnWidth(3, 5 * 256);//D
+ ws.SetColumnWidth(4, 4 * 256);//E
+ ws.SetColumnWidth(5, 5 * 256);//F
+ ws.SetColumnWidth(6, 6 * 256);//G
+ ws.SetColumnWidth(7, 6 * 256);//H
+ ws.SetColumnWidth(8, 6 * 256);//I
+ ws.SetColumnWidth(9, 5 * 256);//J
+ ws.SetColumnWidth(10, 5 * 256);//K
+ ws.SetColumnWidth(11, 5 * 256);//L
+ ws.SetColumnWidth(12, 7 * 256);//M
+ ws.SetColumnWidth(13, 5 * 256);//N
+ ws.SetColumnWidth(14, 5 * 256);//O
+ ws.SetColumnWidth(15, 5 * 256);//P
+ ws.SetColumnWidth(16, 5 * 256);//Q
+ ws.SetColumnWidth(17, 6 * 256);//R
+ ws.SetColumnWidth(18, 6 * 256);//S
+ ws.SetColumnWidth(19, 6 * 256);//T
+ ws.SetColumnWidth(20, 13 * 256);//U
- //合并单元格和填充文本
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 2));
- ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("");
+ //设置行高度
+ ws.GetRow(rowIndex).HeightInPoints = 10f;
+ ws.GetRow(rowIndex).GetCell(20).CellStyle = style1;
+ ws.GetRow(rowIndex).GetCell(20).SetCellValue("Form No. TP-10");
- var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17));
- ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style3;
- ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("管道焊接接头PMI检测比例确认表(一)\nPipeline Welding Joints PMI Examination Rate Confirmation Form(I)\n共 1 页 第 1 页");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style, 0, 20, true);
+ //设置行高度
+ ws.GetRow(rowIndex + 1).HeightInPoints = 90f;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 30f;
- var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false, "Arial Unicode MS");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20));
- ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = style2;
- ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"\n工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单元名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}");
+ //合并单元格和填充文本
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 2));
+ ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("");
- ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("执行标准\nApplicable code");
+ var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 13, true, true, "Arial Unicode MS");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 3, 17));
+ ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = style3;
+ ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue($"管道焊接接头PMI检测比例确认表(一)\nPipeline Welding Joints PMI Examination Rate Confirmation Form(I)\n共 {pageNum} 页 第 {num} 页");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 1, 5));
- ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("");
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 9, true, false, "Arial Unicode MS");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 18, 20));
+ ws.GetRow(rowIndex + 1).GetCell(18).CellStyle = style2;
+ ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue($"\n工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单元名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 6, 7));
- ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检测方法\nExam. Method");
+ ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("执行标准\nApplicable code");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 15));
- ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("PMI检测");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 1, 5));
+ ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 17));
- ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("检测比例\nExam. Rate");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 6, 7));
+ ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("检测方法\nExam. Method");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20));
- ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("2%");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 15));
+ ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("PMI检测");
- #endregion
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 17));
+ ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("检测比例\nExam. Rate");
- #region 表格部分
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 2, rowIndex + 2, 18, 20));
+ ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("2%");
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 0, 20, true);
- //设置高度和合并列填充文本
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 1));
- ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("管道编号\nPipeline No.");
+ #endregion
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 2, 2));
- ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("材质\nMaterial");
+ #region 表格部分
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 4));
- ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("规 格/Size\n mm");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, rowIndex + 13, style, 0, 20, true);
+ //设置高度和合并列填充文本
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 1));
+ ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("管道编号\nPipeline No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 8));
- ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("管道焊接接头\nWelding Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 2, 2));
+ ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("材质\nMaterial");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 9, 12));
- ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("施焊焊工\nWelder");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 4));
+ ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("规 格/Size\n mm");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 13, 16));
- ws.GetRow(rowIndex + 3).GetCell(13).SetCellValue("检测焊接接头\nExanined Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 8));
+ ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("管道焊接接头\nWelding Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 6));
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("总数\nTotal");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 9, 12));
+ ws.GetRow(rowIndex + 3).GetCell(9).SetCellValue("施焊焊工\nWelder");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 8));
- ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("固定口数\nField Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 13, 16));
+ ws.GetRow(rowIndex + 3).GetCell(13).SetCellValue("检测焊接接头\nExanined Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 10));
- ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊工代号\nWelder No.");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 6));
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("总数\nTotal");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12));
- ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("施焊数量\nWelded Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 8));
+ ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("固定口数\nField Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 13, 14));
- ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("总数\nTotal Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 9, 10));
+ ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊工代号\nWelder No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 16));
- ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("固定口数\nField Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12));
+ ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("施焊数量\nWelded Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 17, 19));
- ws.GetRow(rowIndex + 3).GetCell(17).SetCellValue("实际检测比例\nActual exam. Rate");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 13, 14));
+ ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("总数\nTotal Joints");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 20, 20));
- ws.GetRow(rowIndex + 3).GetCell(20).SetCellValue("检测报告编号\nExamination Report No.");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 16));
+ ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("固定口数\nField Joints");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 17, 19));
+ ws.GetRow(rowIndex + 3).GetCell(17).SetCellValue("实际检测比例\nActual exam. Rate");
- for (int i = 3; i < 14; i++)
- {
- if (i == 3 || i == 4)
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 4, 20, 20));
+ ws.GetRow(rowIndex + 3).GetCell(20).SetCellValue("检测报告编号\nExamination Report No.");
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
{
- ws.GetRow(rowIndex + i).Height = 30 * 20;
- continue;
+ dStart = 0;
+ dEnd = 8;
+ }
+ else
+ {
+ dStart = num == 2 ? 8 : ((num - 2) * 8) + 8;
+ dEnd = ((num - 1) * 8) + 8;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int j = 0;
+ for (int i = 3; i < 14; i++)
+ {
+ if (i == 3 || i == 4)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 30f;
+ continue;
+ }
+
+ if (i == 13)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 30f;
+ }
+ else
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 17f;
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(0).SetCellValue("模拟数据");
+ }
+ j++;
+ }
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19));
}
- if (i == 13)
- ws.GetRow(rowIndex + i).Height = 30 * 20;
- else
- ws.GetRow(rowIndex + i).Height = 19 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19));
+
+ ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal");
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 0, 20, true);
+ //设置行高
+ ws.GetRow(rowIndex + 14).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 15).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 16).HeightInPoints = 125f;
+
+ ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\nRemark");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20));
+
+ ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2;
+ ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints.");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3));
+ ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建 设 / 监 理 单 位\nOwner/JianLi Company");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9));
+ ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总 承 包 单 位\nGeneral Contractor");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16));
+ ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\nExamination Contractor");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20));
+ ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\nConstruction Company");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3));
+ ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2;
+ ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9));
+ ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2;
+ ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16));
+ ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2;
+ ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n 日期Date: 年 月 日");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20));
+ ws.GetRow(rowIndex + 16).GetCell(17).CellStyle = style2;
+ ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\n Discipline Engineer: \n 质量检查员:\n Quality Inspector:\n 制表:\n\n Prepared:\n 日期Date: 年 月 日");
+
+ #endregion
+
+ rowIndex += 17;
}
- ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal");
- #endregion
- #region 尾部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 14, rowIndex + 16, style, 0, 20, true);
- //设置行高
- ws.GetRow(rowIndex + 14).Height = 20 * 20 * 2;
- ws.GetRow(rowIndex + 15).Height = 20 * 20 * 2;
- ws.GetRow(rowIndex + 16).Height = 20 * 20 * 7;
-
- ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\nRemark");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20));
-
- ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = style2;
- ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints.");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3));
- ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建 设 / 监 理 单 位\nOwner/JianLi Company");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9));
- ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总 承 包 单 位\nGeneral Contractor");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16));
- ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\nExamination Contractor");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20));
- ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\nConstruction Company");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3));
- ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9));
- ws.GetRow(rowIndex + 16).GetCell(4).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16));
- ws.GetRow(rowIndex + 16).GetCell(10).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20));
- ws.GetRow(rowIndex + 16).GetCell(17).CellStyle = style2;
- ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 制表:\n Prepared:\n\n 日期Date: 年 月 日");
-
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
- //水平垂直居中
- ws.HorizontallyCenter = true;
- ws.VerticallyCenter = true;
-
- //横向打印
ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
+ ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+
+ //ws.FitToPage = true;
+ ////水平垂直居中
+ //ws.HorizontallyCenter = true;
+ //ws.VerticallyCenter = true;
+
+ ////横向打印
+ //ws.PrintSetup.Landscape = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
@@ -4792,76 +5234,77 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
string sql = @"SELECT ROW_NUMBER() OVER(ORDER BY c.PipelineCode,c.WeldJointCode) AS Number,
- c.PipelineCode,c.WeldJointCode, c.WelderCode,'/' AS PointBatchCode, '/' AS Remark,
- (CASE WHEN c.DetectionTypeCode='RT' THEN c.NDEReportNo ELSE '' END) AS RTNDEReportNo,
- (CASE WHEN c.DetectionTypeCode='RT' THEN c.CheckResult ELSE '' END) AS RTCheckResult,
- (CASE WHEN c.DetectionTypeCode<>'RT' THEN c.NDEReportNo ELSE '' END) AS PTNDEReportNo,
- (CASE WHEN c.DetectionTypeCode<>'RT' THEN c.CheckResult ELSE '' END) AS PTCheckResult
- FROM dbo.View_CheckResultSummary c
- WHERE c.WeldJointId IN
- (SELECT
- c.WeldJointId
- FROM dbo.PTP_TestPackage AS a
- INNER JOIN dbo.PTP_PipelineList AS b
- ON a.PTP_ID=b.PTP_ID
- LEFT JOIN dbo.Pipeline_WeldJoint AS C
- ON b.PipelineId=c.PipelineId
- WHERE b.isAll=1 AND a.PTP_ID=@PTPID and a.ProjectId=@ProjectId -- 传试压包ID参数
- UNION ALL
- SELECT
- c.WeldJointId
- FROM dbo.PTP_TestPackage AS a
- INNER JOIN dbo.PTP_PipelineList AS b
- ON a.PTP_ID=b.PTP_ID
- LEFT JOIN dbo.Pipeline_WeldJoint AS C
- ON b.PipelineId=c.PipelineId
- WHERE b.isAll=0 AND a.PTP_ID=@PTPID and a.ProjectId=@ProjectId -- 传试压包ID参数
- AND PATINDEX('%'+c.WeldJointCode+'%',b.WeldJonintCode)>0)
- ";
+ c.PipelineCode,c.WeldJointCode, c.WelderCode,'/' AS PointBatchCode, '/' AS Remark,
+ (CASE WHEN c.DetectionTypeCode='RT' THEN c.NDEReportNo ELSE '' END) AS RTNDEReportNo,
+ (CASE WHEN c.DetectionTypeCode='RT' THEN c.CheckResult ELSE '' END) AS RTCheckResult,
+ (CASE WHEN c.DetectionTypeCode<>'RT' THEN c.NDEReportNo ELSE '' END) AS PTNDEReportNo,
+ (CASE WHEN c.DetectionTypeCode<>'RT' THEN c.CheckResult ELSE '' END) AS PTCheckResult
+ FROM dbo.View_CheckResultSummary c
+ WHERE c.WeldJointId IN
+ (SELECT
+ c.WeldJointId
+ FROM dbo.PTP_TestPackage AS a
+ INNER JOIN dbo.PTP_PipelineList AS b
+ ON a.PTP_ID=b.PTP_ID
+ LEFT JOIN dbo.Pipeline_WeldJoint AS C
+ ON b.PipelineId=c.PipelineId
+ WHERE b.isAll=1 AND a.PTP_ID=@PTPID and a.ProjectId=@ProjectId -- 传试压包ID参数
+ UNION ALL
+ SELECT
+ c.WeldJointId
+ FROM dbo.PTP_TestPackage AS a
+ INNER JOIN dbo.PTP_PipelineList AS b
+ ON a.PTP_ID=b.PTP_ID
+ LEFT JOIN dbo.Pipeline_WeldJoint AS C
+ ON b.PipelineId=c.PipelineId
+ WHERE b.isAll=0 AND a.PTP_ID=@PTPID and a.ProjectId=@ProjectId -- 传试压包ID参数
+ AND PATINDEX('%'+c.WeldJointCode+'%',b.WeldJonintCode)>0)
+ ";
SqlParameter[] parms =
{
- new SqlParameter("@PTPID",this.tvControlItem.SelectedNodeID),
- new SqlParameter("@ProjectId",this.CurrUser.LoginProjectId)
- };
+ new SqlParameter("@PTPID",this.tvControlItem.SelectedNodeID),
+ new SqlParameter("@ProjectId",this.CurrUser.LoginProjectId)
+ };
DataTable tb = SQLHelper.GetDataTableRunText(sql, parms);
-
-
var tbNum = tb.Rows.Count;
var pageNum =
tbNum < 5 ? 1
: Math.Ceiling((float)(tbNum - 5) / 5) + 1;
+
for (int i = 1; i <= pageNum; i++)
{
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
+
#region 头部
ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 3, style, 1, 18, true);
- ws.SetColumnWidth(0, 2 * 256);
- ws.SetColumnWidth(1, 10 * 256);
- ws.SetColumnWidth(2, 8 * 256);
- ws.SetColumnWidth(3, 8 * 256);
- ws.SetColumnWidth(4, 8 * 256);
- ws.SetColumnWidth(5, 8 * 256);
- ws.SetColumnWidth(6, 10 * 256);
- ws.SetColumnWidth(7, 8 * 256);
- ws.SetColumnWidth(8, 8 * 256);
- ws.SetColumnWidth(9, 8 * 256);
- ws.SetColumnWidth(10, 8 * 256);
- ws.SetColumnWidth(11, 10 * 256);
- ws.SetColumnWidth(12, 8 * 256);
- ws.SetColumnWidth(13, 8 * 256);
- ws.SetColumnWidth(14, 8 * 256);
- ws.SetColumnWidth(15, 10 * 256);
- ws.SetColumnWidth(16, 8 * 256);
- ws.SetColumnWidth(17, 8 * 256);
- ws.SetColumnWidth(18, 10 * 256);
- ws.GetRow(1).Height = 85 * 20;
- ws.GetRow(2).Height = 20 * 20 * 2;
- ws.GetRow(3).Height = 20 * 20 * 2;
+ ws.SetColumnWidth(0, 1 * 256);//A
+ ws.SetColumnWidth(1, 10 * 256);//B
+ ws.SetColumnWidth(2, 6 * 256);//C
+ ws.SetColumnWidth(3, 6 * 256);//D
+ ws.SetColumnWidth(4, 6 * 256);//E
+ ws.SetColumnWidth(5, 6 * 256);//F
+ ws.SetColumnWidth(6, 12 * 256);//G
+ ws.SetColumnWidth(7, 7 * 256);//H
+ ws.SetColumnWidth(8, 7 * 256);//I
+ ws.SetColumnWidth(9, 7 * 256);//J
+ ws.SetColumnWidth(10, 7 * 256);//K
+ ws.SetColumnWidth(11, 8 * 256);//L
+ ws.SetColumnWidth(12, 7 * 256);//M
+ ws.SetColumnWidth(13, 7 * 256);//N
+ ws.SetColumnWidth(14, 6 * 256);//O
+ ws.SetColumnWidth(15, 8 * 256);//P
+ ws.SetColumnWidth(16, 4 * 256);//Q
+ ws.SetColumnWidth(17, 5 * 256);//R
+ ws.SetColumnWidth(18, 8 * 256);//S
+
+ ws.GetRow(rowIndex + 1).HeightInPoints = 85f;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 35f;
+ ws.GetRow(rowIndex + 3).HeightInPoints = 35f;
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 5));
ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503-J412-1");
@@ -4869,7 +5312,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
style1.WrapText = true;
ws.GetRow(rowIndex + 1).GetCell(6).CellStyle = style1;
- ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("管道无损检测结果汇总表\nSummary of Piping NDT Results\n第 页 共 页 Page of ");
+ ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue($"管道无损检测结果汇总表\nSummary of Piping NDT Results\n第 {i} 页 共 {pageNum} 页 Page of ");
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 14, 18));
var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, false, false, "Arial Unicode MS");
@@ -4907,8 +5350,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 16, style, 1, 18, true);
//第一部分表格部分
- ws.GetRow(rowIndex + 4).Height = 18 * 20 * 2;
- ws.GetRow(rowIndex + 5).Height = 18 * 20 * 2;
+ ws.GetRow(rowIndex + 4).HeightInPoints = 36f;
+ ws.GetRow(rowIndex + 5).HeightInPoints = 36f;
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 5, 1, 1));
ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("Test Method");
@@ -4948,7 +5391,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 8).GetCell(1).SetCellValue("MT");
ws.GetRow(rowIndex + 9).GetCell(1).SetCellValue("PT");
//第二部分表格部分
- ws.GetRow(rowIndex + 11).Height = 20 * 20 * 3;
+ ws.GetRow(rowIndex + 11).HeightInPoints = 60f;
var qq = from x in Funs.DB.View_CheckResultSummary where x.PTP_ID == this.PTP_ID select x;
@@ -4996,17 +5439,19 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
{
nptz = nzpt.Count().ToString();
}
+
+
for (int k = 6; k < 11; k++)
{
- ws.AddMergedRegion(new CellRangeAddress(k, k, 2, 3));
- ws.AddMergedRegion(new CellRangeAddress(k, k, 4, 5));
- ws.AddMergedRegion(new CellRangeAddress(k, k, 6, 7));
- ws.AddMergedRegion(new CellRangeAddress(k, k, 8, 9));
- ws.AddMergedRegion(new CellRangeAddress(k, k, 10, 11));
- ws.AddMergedRegion(new CellRangeAddress(k, k, 12, 13));
- ws.AddMergedRegion(new CellRangeAddress(k, k, 14, 15));
- ws.AddMergedRegion(new CellRangeAddress(k, k, 16, 18));
- ws.GetRow(k).Height = 18 * 20;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 2, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 4, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 6, 7));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 8, 9));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 10, 11));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 12, 13));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 14, 15));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + k, rowIndex + k, 16, 18));
+ ws.GetRow(rowIndex + k).HeightInPoints = 18f;
if (k == 10)
break;
//RT值
@@ -5099,8 +5544,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["RTNDEReportNo"].ToString());
ws.GetRow(dataIndex).GetCell(11).SetCellValue(dr["PTCheckResult"].ToString());
ws.GetRow(dataIndex).GetCell(12).SetCellValue(dr["PTNDEReportNo"].ToString());
- ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr[""].ToString());
- ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr[""].ToString());
+ ws.GetRow(dataIndex).GetCell(14).SetCellValue("");
+ ws.GetRow(dataIndex).GetCell(15).SetCellValue("");
ws.GetRow(dataIndex).GetCell(17).SetCellValue(dr["Remark"].ToString());
j++;
}
@@ -5110,7 +5555,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 17, rowIndex + 17, style, 1, 18, true);
- ws.GetRow(rowIndex + 17).Height = 20 * 20 * 5;
+ ws.GetRow(rowIndex + 17).HeightInPoints = 60f;
var setStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
setStyle2.WrapText = true;
@@ -5120,39 +5565,41 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 17).GetCell(1).SetCellValue(" Responsible Inspector:");
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 7, 12));
- ws.GetRow(rowIndex + 17).GetCell(7).SetCellValue(" Technical Superintendent:\n\n\n\n\n Quality Superintendent:");
+ ws.GetRow(rowIndex + 17).GetCell(7).SetCellValue(" Technical Superintendent:\n\n Quality Superintendent:");
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 13, 18));
- ws.GetRow(rowIndex + 17).GetCell(13).SetCellValue(" Inspection Agency: (Seal)\n\n\n\n\n Date:");
+ ws.GetRow(rowIndex + 17).GetCell(13).SetCellValue(" Inspection Agency: (Seal)\n\n Date:");
#endregion
+
+ rowIndex += 18;
}
-
-
-
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
- //横向打印
ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
+ ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////横向打印
+ //ws.PrintSetup.Landscape = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
@@ -5160,186 +5607,236 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
private void template26(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
var info = GetTestPackageInfo(this.tvControlItem.SelectedNodeID);
+
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 9 ? 1 : Math.Ceiling((float)(tbNum - 9) / 18) + 1;
+
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
-
- #region 头部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 6, style, 1, 23, true);
- ws.SetColumnWidth(0, 2 * 256);
- ws.SetColumnWidth(1, 9 * 256);
- ws.SetColumnWidth(2, 3 * 256);
- ws.SetColumnWidth(3, 11 * 256);
- ws.SetColumnWidth(4, 3 * 256);
- ws.SetColumnWidth(5, 9 * 256);
- ws.SetColumnWidth(6, 2 * 256);
- ws.SetColumnWidth(7, 5 * 256);
- ws.SetColumnWidth(8, 5 * 256);
- ws.SetColumnWidth(9, 5 * 256);
- ws.SetColumnWidth(10, 5 * 256);
- ws.SetColumnWidth(11, 5 * 256);
- ws.SetColumnWidth(12, 5 * 256);
- ws.SetColumnWidth(13, 5 * 256);
- ws.SetColumnWidth(14, 5 * 256);
- ws.SetColumnWidth(15, 5 * 256);
- ws.SetColumnWidth(16, 5 * 256);
- ws.SetColumnWidth(17, 5 * 256);
- ws.SetColumnWidth(18, 5 * 256);
- ws.SetColumnWidth(19, 5 * 256);
- ws.SetColumnWidth(20, 5 * 256);
- ws.SetColumnWidth(21, 5 * 256);
- ws.SetColumnWidth(22, 5 * 256);
- ws.SetColumnWidth(23, 9 * 256);
-
- for (int i = 1; i < 6; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.GetRow(rowIndex + i).Height = 20 * 20;
- }
- ws.GetRow(rowIndex + 6).Height = 40 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 1, 3));
- ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503-J413-1");
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 4, 16));
- ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("管道无损检测数量统计表 ;\n Piping NDT Quantity Statistical From ;\n 第 页 共 页 Page of ");
- var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = setStyle;
+ #region 头部
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 17, 23));
- ws.GetRow(rowIndex + 1).GetCell(17).SetCellValue($"工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单位工程名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}");
- var setStyle1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
- setStyle1.WrapText = true;
- ws.GetRow(rowIndex + 1).GetCell(17).CellStyle = setStyle1;
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 6, style, 1, 23, true);
+ ws.SetColumnWidth(0, 2 * 256);
+ ws.SetColumnWidth(1, 9 * 256);
+ ws.SetColumnWidth(2, 3 * 256);
+ ws.SetColumnWidth(3, 11 * 256);
+ ws.SetColumnWidth(4, 3 * 256);
+ ws.SetColumnWidth(5, 9 * 256);
+ ws.SetColumnWidth(6, 2 * 256);
+ ws.SetColumnWidth(7, 5 * 256);
+ ws.SetColumnWidth(8, 5 * 256);
+ ws.SetColumnWidth(9, 5 * 256);
+ ws.SetColumnWidth(10, 5 * 256);
+ ws.SetColumnWidth(11, 5 * 256);
+ ws.SetColumnWidth(12, 5 * 256);
+ ws.SetColumnWidth(13, 5 * 256);
+ ws.SetColumnWidth(14, 5 * 256);
+ ws.SetColumnWidth(15, 5 * 256);
+ ws.SetColumnWidth(16, 5 * 256);
+ ws.SetColumnWidth(17, 5 * 256);
+ ws.SetColumnWidth(18, 5 * 256);
+ ws.SetColumnWidth(19, 5 * 256);
+ ws.SetColumnWidth(20, 5 * 256);
+ ws.SetColumnWidth(21, 5 * 256);
+ ws.SetColumnWidth(22, 5 * 256);
+ ws.SetColumnWidth(23, 9 * 256);
- ws.GetRow(rowIndex + 6).GetCell(1).SetCellValue("Area No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 2, 3));
+ for (int i = 1; i < 6; i++)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 16f;
+ }
+ ws.GetRow(rowIndex + 6).HeightInPoints = 30f;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 1, 3));
+ ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("SH/T 3503-J413-1");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 4, 5));
- ws.GetRow(rowIndex + 6).GetCell(4).SetCellValue("Test Type No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 6, 11));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 4, 16));
+ string title = num == 1 ? $"管道无损检测数量统计表 ;\n Piping NDT Quantity Statistical From ;\n 第 {num} 页 共 {pageNum} 页 Page of " : $"管道无损检测数量统计表(续) ;\n Piping NDT Quantity Statistical From ;\n 第 {num} 页 共 {pageNum} 页 Page of ";
+ ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue(title);
+ var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = setStyle;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 12, 14));
- ws.GetRow(rowIndex + 6).GetCell(12).SetCellValue("Acceptance Criteria");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 15, 18));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 5, 17, 23));
+ ws.GetRow(rowIndex + 1).GetCell(17).SetCellValue($"工程名称:{info?.projectName}\n Project Name:{info?.enProjectName}\n 单位工程名称:{info?.workAreaName}\n Unit Name:{info?.enWorkAreaName}");
+ var setStyle1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
+ setStyle1.WrapText = true;
+ ws.GetRow(rowIndex + 1).GetCell(17).CellStyle = setStyle1;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 19, 20));
- ws.GetRow(rowIndex + 6).GetCell(19).SetCellValue("Test Criteria");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 21, 23));
+ ws.GetRow(rowIndex + 6).GetCell(1).SetCellValue("Area No.");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 2, 3));
- #endregion
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 4, 5));
+ ws.GetRow(rowIndex + 6).GetCell(4).SetCellValue("Test Type No.");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 6, 11));
- #region 表格部分
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 12, 14));
+ ws.GetRow(rowIndex + 6).GetCell(12).SetCellValue("Acceptance Criteria");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 15, 18));
- style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + 18, style, 1, 23, true);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 19, 20));
+ ws.GetRow(rowIndex + 6).GetCell(19).SetCellValue("Test Criteria");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 21, 23));
- ws.GetRow(rowIndex + 7).Height = 30 * 20;
- ws.GetRow(rowIndex + 8).Height = 40 * 20;
+ #endregion
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 1, 2));
- ws.GetRow(rowIndex + 7).GetCell(1).SetCellValue("Piping No.");
+ #region 表格部分
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 3, 4));
- ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("Included Line No.");
+ var rend = num == 1 ? 18 : 27;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 5, 6));
- ws.GetRow(rowIndex + 7).GetCell(5).SetCellValue("Test Percentage");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 7, 22));
- ws.GetRow(rowIndex + 7).GetCell(7).SetCellValue("Qualified Quantity");
+ style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
+ //ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + 18, style, 1, 23, true);
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + rend, style, 1, 23, true);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 8, 23, 23));
- ws.GetRow(rowIndex + 7).GetCell(23).SetCellValue("Remarks");
+ ws.GetRow(rowIndex + 7).HeightInPoints = 20f;
+ ws.GetRow(rowIndex + 8).HeightInPoints = 30f;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 7, 11));
- ws.GetRow(rowIndex + 8).GetCell(7).SetCellValue("Butt-welded Joint");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 1, 2));
+ ws.GetRow(rowIndex + 7).GetCell(1).SetCellValue("Piping No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 12, 14));
- ws.GetRow(rowIndex + 8).GetCell(12).SetCellValue("Fillet-welded Joint");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 3, 4));
+ ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("Included Line No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 15, 19));
- ws.GetRow(rowIndex + 8).GetCell(15).SetCellValue("Branch Connection");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 9, 5, 6));
+ ws.GetRow(rowIndex + 7).GetCell(5).SetCellValue("Test Percentage");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 20, 22));
- ws.GetRow(rowIndex + 8).GetCell(20).SetCellValue("Groove & Others");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 7, 22));
+ ws.GetRow(rowIndex + 7).GetCell(7).SetCellValue("Qualified Quantity");
- ws.GetRow(rowIndex + 9).GetCell(7).SetCellValue("Total");
- ws.GetRow(rowIndex + 9).GetCell(8).SetCellValue("RT");
- ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("UT");
- ws.GetRow(rowIndex + 9).GetCell(10).SetCellValue("MT");
- ws.GetRow(rowIndex + 9).GetCell(11).SetCellValue("PT");
- ws.GetRow(rowIndex + 9).GetCell(12).SetCellValue("Total");
- ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue("MT");
- ws.GetRow(rowIndex + 9).GetCell(14).SetCellValue("PT");
- ws.GetRow(rowIndex + 9).GetCell(15).SetCellValue("Total");
- ws.GetRow(rowIndex + 9).GetCell(16).SetCellValue("RT");
- ws.GetRow(rowIndex + 9).GetCell(17).SetCellValue("UT");
- ws.GetRow(rowIndex + 9).GetCell(18).SetCellValue("MT");
- ws.GetRow(rowIndex + 9).GetCell(19).SetCellValue("PT");
- ws.GetRow(rowIndex + 9).GetCell(20).SetCellValue("Total");
- ws.GetRow(rowIndex + 9).GetCell(21).SetCellValue("MT");
- ws.GetRow(rowIndex + 9).GetCell(22).SetCellValue("PT");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 8, 23, 23));
+ ws.GetRow(rowIndex + 7).GetCell(23).SetCellValue("Remarks");
- for (int i = 10; i < 19; i++)
- {
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
- ws.GetRow(rowIndex + i).Height = 20 * 20;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 7, 11));
+ ws.GetRow(rowIndex + 8).GetCell(7).SetCellValue("Butt-welded Joint");
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 12, 14));
+ ws.GetRow(rowIndex + 8).GetCell(12).SetCellValue("Fillet-welded Joint");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 15, 19));
+ ws.GetRow(rowIndex + 8).GetCell(15).SetCellValue("Branch Connection");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 20, 22));
+ ws.GetRow(rowIndex + 8).GetCell(20).SetCellValue("Groove & Others");
+
+ ws.GetRow(rowIndex + 9).GetCell(7).SetCellValue("Total");
+ ws.GetRow(rowIndex + 9).GetCell(8).SetCellValue("RT");
+ ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("UT");
+ ws.GetRow(rowIndex + 9).GetCell(10).SetCellValue("MT");
+ ws.GetRow(rowIndex + 9).GetCell(11).SetCellValue("PT");
+ ws.GetRow(rowIndex + 9).GetCell(12).SetCellValue("Total");
+ ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue("MT");
+ ws.GetRow(rowIndex + 9).GetCell(14).SetCellValue("PT");
+ ws.GetRow(rowIndex + 9).GetCell(15).SetCellValue("Total");
+ ws.GetRow(rowIndex + 9).GetCell(16).SetCellValue("RT");
+ ws.GetRow(rowIndex + 9).GetCell(17).SetCellValue("UT");
+ ws.GetRow(rowIndex + 9).GetCell(18).SetCellValue("MT");
+ ws.GetRow(rowIndex + 9).GetCell(19).SetCellValue("PT");
+ ws.GetRow(rowIndex + 9).GetCell(20).SetCellValue("Total");
+ ws.GetRow(rowIndex + 9).GetCell(21).SetCellValue("MT");
+ ws.GetRow(rowIndex + 9).GetCell(22).SetCellValue("PT");
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 9;
+ }
+ else
+ {
+ dStart = num == 2 ? 9 : ((num - 2) * 18) + 9;
+ dEnd = ((num - 1) * 18) + 9;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int j = 0;
+
+ for (int i = 10; i <= rend; i++)
+ {
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
+ ws.GetRow(rowIndex + i).HeightInPoints = 18f;
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(1).SetCellValue("模拟数据");
+ }
+ j++;
+ }
+
+ #endregion
+
+
+ #region 尾部
+
+ if (num == 1)
+ {
+ style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 19, rowIndex + 20, style, 1, 23, true);
+ ws.GetRow(rowIndex + 19).HeightInPoints = 25f;
+ ws.GetRow(rowIndex + 20).Height = 20 * 20 * 7;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 1, 7));
+ ws.GetRow(rowIndex + 19).GetCell(1).SetCellValue("Owner/Supervision Contractor");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 8, 15));
+ ws.GetRow(rowIndex + 19).GetCell(8).SetCellValue("General Contractor");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 16, 23));
+ ws.GetRow(rowIndex + 19).GetCell(16).SetCellValue("Construction Contractor");
+
+
+ var setStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
+ setStyle2.WrapText = true;
+ ws.GetRow(rowIndex + 20).GetCell(1).CellStyle = ws.GetRow(rowIndex + 20).GetCell(8).CellStyle = ws.GetRow(rowIndex + 20).GetCell(16).CellStyle = setStyle2;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 1, 7));
+ ws.GetRow(rowIndex + 20).GetCell(1).SetCellValue(" Discipline Engineer:\n\n\n\n\n\nDate:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 8, 15));
+ ws.GetRow(rowIndex + 20).GetCell(8).SetCellValue(" Discipline Engineer:\n\n\n\n\n\n Date:");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 16, 23));
+ ws.GetRow(rowIndex + 20).GetCell(16).SetCellValue(" Quality Inspector: \n \n Discipline Engineer: \n\n From Prepared by:\n\n Date:");
+ }
+
+ #endregion
+
+
+ rowIndex += num == 1 ? 21 : 28;
}
- #endregion
-
- #region 尾部
- style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 19, rowIndex + 20, style, 1, 23, true);
- ws.GetRow(rowIndex + 19).Height = 30 * 20;
- ws.GetRow(rowIndex + 20).Height = 20 * 20 * 7;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 1, 7));
- ws.GetRow(rowIndex + 19).GetCell(1).SetCellValue("Owner/Supervision Contractor");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 8, 15));
- ws.GetRow(rowIndex + 19).GetCell(8).SetCellValue("General Contractor");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 19, rowIndex + 19, 16, 23));
- ws.GetRow(rowIndex + 19).GetCell(16).SetCellValue("Construction Contractor");
-
-
- var setStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
- setStyle2.WrapText = true;
- ws.GetRow(rowIndex + 20).GetCell(1).CellStyle = ws.GetRow(rowIndex + 20).GetCell(8).CellStyle = ws.GetRow(rowIndex + 20).GetCell(16).CellStyle = setStyle2;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 1, 7));
- ws.GetRow(rowIndex + 20).GetCell(1).SetCellValue(" Discipline Engineer: \n \n \n \n \n \n \n \n Date:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 8, 15));
- ws.GetRow(rowIndex + 20).GetCell(8).SetCellValue(" Discipline Engineer: \n \n \n \n \n \n \n \n Date:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 16, 23));
- ws.GetRow(rowIndex + 20).GetCell(16).SetCellValue(" Quality Inspector: \n \n Discipline Engineer: \n \n From Prepared by: \n \n \n \n Date:");
-
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
- //横向打印
ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
+ ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////横向打印
+ //ws.PrintSetup.Landscape = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
@@ -5353,218 +5850,273 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
var img3 = Server.MapPath("~/res/images/bsf/3.png");
var img4 = Server.MapPath("~/res/images/bsf/4.png");
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 12 ? 1 : Math.Ceiling((float)(tbNum - 12) / 12) + 1;
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, false, "Arial Unicode MS");
-
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 12, true, false, "Arial Unicode MS");
-
- var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true, "Arial Unicode MS");
-
- var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 24, true, true, "Arial Unicode MS");
- #region 头部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 7, style, 0, 24, true);
-
- //设置行高和列宽
- for (int i = 0; i < 23; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.SetColumnWidth(i, 7 * 256);
- }
- ws.SetColumnWidth(23, 6 * 256);
- ws.SetColumnWidth(24, 6 * 256);
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, false, "Arial Unicode MS");
- ws.GetRow(rowIndex).Height = 10 * 20;
- ws.GetRow(rowIndex + 1).Height = 10 * 20 * 5;
- ws.GetRow(rowIndex + 2).Height = 8 * 20;
- ws.GetRow(rowIndex + 3).Height = 10 * 20 * 4;
- ws.GetRow(rowIndex + 4).Height = 20 * 20;
- ws.GetRow(rowIndex + 5).Height = 20 * 20;
- ws.GetRow(rowIndex + 6).Height = 20 * 20;
- ws.GetRow(rowIndex + 7).Height = 35 * 20;
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 12, true, false, "Arial Unicode MS");
+
+ var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true, "Arial Unicode MS");
+
+ var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 24, true, true, "Arial Unicode MS");
+
+ #region 头部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 7, style, 0, 24, true);
+
+ //设置行高和列宽
+ ws.SetColumnWidth(0, 5 * 256);//A
+ ws.SetColumnWidth(1, 5 * 256);//B
+ ws.SetColumnWidth(2, 6 * 256);//C
+ ws.SetColumnWidth(3, 2 * 256);//D
+ ws.SetColumnWidth(4, 5 * 256);//E
+ ws.SetColumnWidth(5, 6 * 256);//F
+ ws.SetColumnWidth(6, 6 * 256);//G
+ ws.SetColumnWidth(7, 4 * 256);//H
+ ws.SetColumnWidth(8, 5 * 256);//I
+ ws.SetColumnWidth(9, 5 * 256);//J
+ ws.SetColumnWidth(10, 5 * 256);//K
+ ws.SetColumnWidth(11, 5 * 256);//L
+ ws.SetColumnWidth(12, 4 * 256);//M
+ ws.SetColumnWidth(13, 5 * 256);//N
+ ws.SetColumnWidth(14, 5 * 256);//O
+ ws.SetColumnWidth(15, 5 * 256);//P
+ ws.SetColumnWidth(16, 6 * 256);//Q
+ ws.SetColumnWidth(17, 6 * 256);//R
+ ws.SetColumnWidth(18, 6 * 256);//S
+ ws.SetColumnWidth(19, 6 * 256);//T
+ ws.SetColumnWidth(20, 6 * 256);//U
+ ws.SetColumnWidth(21, 6 * 256);//V
+ ws.SetColumnWidth(22, 7 * 256);//W
+ ws.SetColumnWidth(23, 4 * 256);//X
+ ws.SetColumnWidth(24, 3 * 256);//Y
+
+ ws.GetRow(rowIndex).HeightInPoints = 10f;
+ ws.GetRow(rowIndex + 1).HeightInPoints = 50f;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 8f;
+ ws.GetRow(rowIndex + 3).HeightInPoints = 35f;
+ ws.GetRow(rowIndex + 4).HeightInPoints = 18f;
+ ws.GetRow(rowIndex + 5).HeightInPoints = 18f;
+ ws.GetRow(rowIndex + 6).HeightInPoints = 18f;
+ ws.GetRow(rowIndex + 7).HeightInPoints = 35f;
+
+ //合并单元格和填充文本
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 22, 24));
+ ws.GetRow(rowIndex).GetCell(22).SetCellValue("Form No. TP-11");
+ ws.GetRow(rowIndex).GetCell(22).CellStyle = style1;
+
+ //画线
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex, rowIndex, 0, 24), ws);
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 6, 18));
+ ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("巴斯夫(广东)一体化项目\nBASF (Guangdong) Integrated Project");
+ ws.GetRow(rowIndex + 1).GetCell(6).CellStyle = style3;
+
+ //画线
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 24), ws);
+ //画线
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 0, 24), ws);
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 6, 3, 15));
+ ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("PUNCH LIST\n尾项清单");
+ ws.GetRow(rowIndex + 3).GetCell(3).CellStyle = style4;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 16, 18));
+ ws.GetRow(rowIndex + 3).GetCell(16).CellStyle = style1;
+ ws.GetRow(rowIndex + 3).GetCell(16).SetCellValue("项目/PROJECT");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 19, 24));
+ ws.GetRow(rowIndex + 3).GetCell(19).CellStyle = style1;
+ ws.GetRow(rowIndex + 3).GetCell(19).SetCellValue("巴斯夫(广东)一体化项目\nBASF (Guangdong) Integrated Project");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 16, 18));
+ ws.GetRow(rowIndex + 4).GetCell(16).CellStyle = style1;
+ ws.GetRow(rowIndex + 4).GetCell(16).SetCellValue("区域/AREA");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 19, 24));
+ ws.GetRow(rowIndex + 4).GetCell(19).CellStyle = style1;
+ ws.GetRow(rowIndex + 4).GetCell(19).SetCellValue(info?.workAreaCode);
- //合并单元格和填充文本
- ws.AddMergedRegion(new CellRangeAddress(rowIndex, rowIndex, 22, 24));
- ws.GetRow(rowIndex).GetCell(22).SetCellValue("Form No. TP-11");
- ws.GetRow(rowIndex).GetCell(22).CellStyle = style1;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 16, 18));
+ ws.GetRow(rowIndex + 5).GetCell(16).CellStyle = style1;
+ ws.GetRow(rowIndex + 5).GetCell(16).SetCellValue("试压包号/TEST PACKAGE No.");
- //画线
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex, rowIndex, 0, 24), ws);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 19, 24));
+ ws.GetRow(rowIndex + 5).GetCell(19).CellStyle = style1;
+ ws.GetRow(rowIndex + 5).GetCell(19).SetCellValue(info?.testpackageNo);
+ //画线
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 6, rowIndex + 6, 0, 24), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 4, rowIndex + 4, 16, 24), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 3, rowIndex + 3, 16, 24), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 3, rowIndex + 6, 18, 18), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 3, rowIndex + 6, 15, 15), ws);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 1, rowIndex + 1, 6, 18));
- ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("巴斯夫(广东)一体化项目\nBASF (Guangdong) Integrated Project");
- ws.GetRow(rowIndex + 1).GetCell(6).CellStyle = style3;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 2));
+ ws.GetRow(rowIndex + 7).GetCell(0).CellStyle = style1;
+ ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("系统号\nSYSTEM No.");
- //画线
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 24), ws);
- //画线
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 0, 24), ws);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 3, 15));
+ ws.GetRow(rowIndex + 7).GetCell(3).CellStyle = style1;
+ ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("UG");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 6, 3, 15));
- ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("PUNCH LIST\n尾项清单");
- ws.GetRow(rowIndex + 3).GetCell(3).CellStyle = style4;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 16, 18));
+ ws.GetRow(rowIndex + 7).GetCell(16).CellStyle = style1;
+ ws.GetRow(rowIndex + 7).GetCell(16).SetCellValue("子系统号\nSUB-SYSTEM No.");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 19, 24));
+ ws.GetRow(rowIndex + 7).GetCell(19).CellStyle = style1;
+ ws.GetRow(rowIndex + 7).GetCell(19).SetCellValue("FW");
+ //画线
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 2, 2), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 15, 15), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 18, 18), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 24), ws);
+ //插入图片
+ InsertImage(hssfworkbook, ws, rowIndex + 1, 1, rowIndex + 1, 2, img1, 1.8, 1);
+ InsertImage(hssfworkbook, ws, rowIndex + 1, 4, rowIndex + 1, 5, img2, 1.8, 1, 0, 1);
+ InsertImage(hssfworkbook, ws, rowIndex + 1, 19, rowIndex + 1, 20, img3, 1.8, 0.7, 0, 10);
+ InsertImage(hssfworkbook, ws, rowIndex + 1, 21, rowIndex + 1, 23, img4, 1.2, 0.9, 0, 5);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 16, 18));
- ws.GetRow(rowIndex + 3).GetCell(16).CellStyle = style1;
- ws.GetRow(rowIndex + 3).GetCell(16).SetCellValue("项目/PROJECT");
+ #endregion
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 19, 24));
- ws.GetRow(rowIndex + 3).GetCell(19).CellStyle = style1;
- ws.GetRow(rowIndex + 3).GetCell(19).SetCellValue("巴斯夫(广东)一体化项目\nBASF (Guangdong) Integrated Project");
+ #region 表格部分
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 16, 18));
- ws.GetRow(rowIndex + 4).GetCell(16).CellStyle = style1;
- ws.GetRow(rowIndex + 4).GetCell(16).SetCellValue("区域/AREA");
+ var style5 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 22, style5, 0, 24, true);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 19, 24));
- ws.GetRow(rowIndex + 4).GetCell(19).CellStyle = style1;
- ws.GetRow(rowIndex + 4).GetCell(19).SetCellValue(info?.workAreaCode);
+ //设置行高
+ ws.GetRow(rowIndex + 8).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 9).HeightInPoints = 30f;
+ ws.GetRow(rowIndex + 10).HeightInPoints = 40f;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 0, 0));
+ ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("序号\nS/N");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 1, 5));
+ ws.GetRow(rowIndex + 8).GetCell(1).SetCellValue("图纸号\nDrawing No.");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 6, 6));
+ ws.GetRow(rowIndex + 8).GetCell(6).SetCellValue("版本\nRev No.");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 7, 15));
+ ws.GetRow(rowIndex + 8).GetCell(7).SetCellValue("尾项描述\nPunch Description");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 16, 16));
+ ws.GetRow(rowIndex + 8).GetCell(16).SetCellValue("尾项类别\n* Punch Category");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 9, 17, 18));
+ ws.GetRow(rowIndex + 8).GetCell(17).SetCellValue("提出人\nOriginator");
+ ws.GetRow(rowIndex + 10).GetCell(17).SetCellValue("姓名\nName");
+ ws.GetRow(rowIndex + 10).GetCell(18).SetCellValue("单位\nCompany");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 19, 24));
+ ws.GetRow(rowIndex + 8).GetCell(19).SetCellValue("尾项关闭\nRemedial Acceptance and Signature");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 19, 20));
+ ws.GetRow(rowIndex + 9).GetCell(19).SetCellValue("CC7");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 21, 22));
+ ws.GetRow(rowIndex + 9).GetCell(21).SetCellValue("Worley/BASF");
+
+ ws.GetRow(rowIndex + 10).GetCell(19).SetCellValue("签名\nSign");
+ ws.GetRow(rowIndex + 10).GetCell(20).SetCellValue("日期Date");
+ ws.GetRow(rowIndex + 10).GetCell(21).SetCellValue("签名\nSign");
+ ws.GetRow(rowIndex + 10).GetCell(22).SetCellValue("日期Date");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 10, 23, 24));
+ ws.GetRow(rowIndex + 9).GetCell(23).SetCellValue("Remark");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 16, 18));
- ws.GetRow(rowIndex + 5).GetCell(16).CellStyle = style1;
- ws.GetRow(rowIndex + 5).GetCell(16).SetCellValue("试压包号/TEST PACKAGE No.");
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 12;
+ }
+ else
+ {
+ dStart = num == 2 ? 12 : ((num - 2) * 12) + 12;
+ dEnd = ((num - 1) * 12) + 12;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int j = 0;
+ for (int i = 11; i < 23; i++)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 17f;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 15));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 23, 24));
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(1).SetCellValue(dr["PTP_ID"].ToString());
+ }
+ j++;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 19, 24));
- ws.GetRow(rowIndex + 5).GetCell(19).CellStyle = style1;
- ws.GetRow(rowIndex + 5).GetCell(19).SetCellValue(info?.testpackageNo);
- //画线
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 6, rowIndex + 6, 0, 24), ws);
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 4, rowIndex + 4, 16, 24), ws);
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 3, rowIndex + 3, 16, 24), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 3, rowIndex + 6, 18, 18), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 3, rowIndex + 6, 15, 15), ws);
+ }
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 2));
- ws.GetRow(rowIndex + 7).GetCell(0).CellStyle = style1;
- ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("系统号\nSYSTEM No.");
+ #endregion
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 3, 15));
- ws.GetRow(rowIndex + 7).GetCell(3).CellStyle = style1;
- ws.GetRow(rowIndex + 7).GetCell(3).SetCellValue("UG");
+ #region 尾部
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 16, 18));
- ws.GetRow(rowIndex + 7).GetCell(16).CellStyle = style1;
- ws.GetRow(rowIndex + 7).GetCell(16).SetCellValue("子系统号\nSUB-SYSTEM No.");
+ var style6 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 8, false, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 23, rowIndex + 27, style6, 0, 24, true);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 19, 24));
- ws.GetRow(rowIndex + 7).GetCell(19).CellStyle = style1;
- ws.GetRow(rowIndex + 7).GetCell(19).SetCellValue("FW");
- //画线
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 2, 2), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 15, 15), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 18, 18), ws);
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 24), ws);
+ ws.GetRow(rowIndex + 23).HeightInPoints = 8f;
+ for (int i = 24; i < 28; i++)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 10f;
+ }
+ ws.GetRow(rowIndex + 24).GetCell(0).SetCellValue("LEGEND");
+ ws.GetRow(rowIndex + 24).GetCell(1).SetCellValue(" N.A.: Not Applicable");
+ ws.GetRow(rowIndex + 24).GetCell(10).SetCellValue("*PUNCH CATEGORY:");
+ ws.GetRow(rowIndex + 25).GetCell(11).SetCellValue("A - PUNCH ITEM MUST BE COMPLETED BEFORE TESTING.");
+ ws.GetRow(rowIndex + 26).GetCell(11).SetCellValue("B - PUNCH ITEM TO BE COMPLETED AFTER TESTING BUT SHALL BE COMPLETED PRIOR TO SYSTEM TURN-OVER");
+ ws.GetRow(rowIndex + 27).GetCell(11).SetCellValue("C - PUNCH ITEM TO BE COMPLETED AFTER SYSTEM TURNOVER.");
+ //划线
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex, rowIndex + 23, 24, 24), ws);
+ #endregion
- //插入图片
- InsertImage(hssfworkbook, ws, rowIndex + 1, 1, rowIndex + 1, 2, img1, 1.8, 1);
- InsertImage(hssfworkbook, ws, rowIndex + 1, 4, rowIndex + 1, 5, img2, 1.8, 1, 0, 1);
- InsertImage(hssfworkbook, ws, rowIndex + 1, 19, rowIndex + 1, 20, img3, 1.8, 0.7, 0, 10);
- InsertImage(hssfworkbook, ws, rowIndex + 1, 21, rowIndex + 1, 23, img4, 1.2, 0.9, 0, 5);
+ rowIndex += 28;
- #endregion
-
- #region 表格部分
-
- var style5 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 25, style5, 0, 24, true);
-
- //设置行高
- ws.GetRow(rowIndex + 8).Height = 10 * 20 * 3;
- ws.GetRow(rowIndex + 9).Height = 30 * 20;
- ws.GetRow(rowIndex + 10).Height = 10 * 20 * 4;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 0, 0));
- ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("序号\nS/N");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 1, 5));
- ws.GetRow(rowIndex + 8).GetCell(1).SetCellValue("图纸号\nDrawing No.");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 6, 6));
- ws.GetRow(rowIndex + 8).GetCell(6).SetCellValue("版本\nRev No.");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 7, 15));
- ws.GetRow(rowIndex + 8).GetCell(7).SetCellValue("尾项描述\nPunch Description");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 10, 16, 16));
- ws.GetRow(rowIndex + 8).GetCell(16).SetCellValue("尾项类别\n* Punch Category");
-
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 9, 17, 18));
- ws.GetRow(rowIndex + 8).GetCell(17).SetCellValue("提出人\nOriginator");
- ws.GetRow(rowIndex + 10).GetCell(17).SetCellValue("姓名\nName");
- ws.GetRow(rowIndex + 10).GetCell(18).SetCellValue("单位\nCompany");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 19, 24));
- ws.GetRow(rowIndex + 8).GetCell(19).SetCellValue("尾项关闭\nRemedial Acceptance and Signature");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 19, 20));
- ws.GetRow(rowIndex + 9).GetCell(19).SetCellValue("CC7");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 21, 22));
- ws.GetRow(rowIndex + 9).GetCell(21).SetCellValue("Worley/BASF");
-
- ws.GetRow(rowIndex + 10).GetCell(19).SetCellValue("签名\nSign");
- ws.GetRow(rowIndex + 10).GetCell(20).SetCellValue("日期Date");
- ws.GetRow(rowIndex + 10).GetCell(21).SetCellValue("签名\nSign");
- ws.GetRow(rowIndex + 10).GetCell(22).SetCellValue("日期Date");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 10, 23, 24));
- ws.GetRow(rowIndex + 9).GetCell(23).SetCellValue("Remark");
-
- for (int i = 11; i < 26; i++)
- {
- ws.GetRow(rowIndex + i).Height = 20 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 5));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 15));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 23, 24));
}
- #endregion
-
- #region 尾部
-
- var style6 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 8, false, false, "Arial Unicode MS");
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 26, rowIndex + 30, style6, 0, 24, true);
-
- ws.GetRow(rowIndex + 26).Height = 8 * 20;
- for (int i = 27; i < 31; i++)
- {
- ws.GetRow(rowIndex + i).Height = 10 * 20;
- }
- ws.GetRow(rowIndex + 27).GetCell(0).SetCellValue("LEGEND");
- ws.GetRow(rowIndex + 27).GetCell(1).SetCellValue(" N.A.: Not Applicable");
- ws.GetRow(rowIndex + 27).GetCell(10).SetCellValue("*PUNCH CATEGORY:");
- ws.GetRow(rowIndex + 28).GetCell(11).SetCellValue("A - PUNCH ITEM MUST BE COMPLETED BEFORE TESTING.");
- ws.GetRow(rowIndex + 29).GetCell(11).SetCellValue("B - PUNCH ITEM TO BE COMPLETED AFTER TESTING BUT SHALL BE COMPLETED PRIOR TO SYSTEM TURN-OVER");
- ws.GetRow(rowIndex + 30).GetCell(11).SetCellValue("C - PUNCH ITEM TO BE COMPLETED AFTER SYSTEM TURNOVER.");
-
- //划线
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex, rowIndex + 25, 24, 24), ws);
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
- //横向打印
ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
+ ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
-
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////横向打印
+ //ws.PrintSetup.Landscape = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
//28-TP-12-试压用水(工具)检查清单UG-FW-001
@@ -5577,220 +6129,264 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
var img3 = Server.MapPath("~/res/images/bsf/3.png");
var img4 = Server.MapPath("~/res/images/bsf/4.png");
+ //模拟数据
+ string sql = @"select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User union all select '模拟数据' as PTP_ID, '' as TestPackageNo, '' WorkAreaId, '' WorkAreaCode, '' PipelineId, '' PipelineCode, '' SystemNumber, '' as TestHeat, '' as TestType, '' SingleNumber, '' DrawingsNum, '' as Remark, '' as PageNum from Sys_User";
+ SqlParameter[] parms = new SqlParameter[] { new SqlParameter("@PTP_ID", this.tvControlItem.SelectedNodeID) };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 25 ? 1 : Math.Ceiling((float)(tbNum - 25) / 25) + 1;
+
int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
-
- #region 头部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 14, style, 0, 17, true);
- ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No.");
- ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06");
- //设置列宽度
- ws.SetColumnWidth(0, 2 * 256);
- ws.SetColumnWidth(1, 1 * 256);
- ws.SetColumnWidth(2, 8 * 256);
- ws.SetColumnWidth(3, 5 * 256);
- ws.SetColumnWidth(4, 5 * 256);
- ws.SetColumnWidth(5, 8 * 256);
- ws.SetColumnWidth(6, 8 * 256);
- ws.SetColumnWidth(7, 10 * 256);
- ws.SetColumnWidth(8, 10 * 256);
- ws.SetColumnWidth(9, 11 * 256);
- ws.SetColumnWidth(10, 9 * 256);
- ws.SetColumnWidth(11, 8 * 256);
- ws.SetColumnWidth(12, 1 * 256);
- ws.SetColumnWidth(13, 9 * 256);
- ws.SetColumnWidth(14, 9 * 256);
- ws.SetColumnWidth(15, 9 * 256);
- ws.SetColumnWidth(16, 8 * 256);
- ws.SetColumnWidth(17, 1 * 256);
- //设置前3行高度
- ws.GetRow(0).Height = 15 * 20;
- ws.GetRow(1).Height = 15 * 20;
- ws.GetRow(2).Height = 14 * 20;
-
- //设置3-15行的行高度
- for (int i = 3; i < 15; i++)
+ for (int num = 1; num <= pageNum; num++)
{
- ws.GetRow(i).Height = 18 * 20;
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
+
+ #region 头部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 14, style, 0, 17, true);
+ ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No.");
+ ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06");
+ //设置列宽度
+ ws.SetColumnWidth(0, 1 * 256);//A
+ ws.SetColumnWidth(1, 1 * 256);//B
+ ws.SetColumnWidth(2, 4 * 256);//C
+ ws.SetColumnWidth(3, 5 * 256);//D
+ ws.SetColumnWidth(4, 5 * 256);//E
+ ws.SetColumnWidth(5, 2 * 256);//F
+ ws.SetColumnWidth(6, 5 * 256);//G
+ ws.SetColumnWidth(7, 6 * 256);//H
+ ws.SetColumnWidth(8, 6 * 256);//I
+ ws.SetColumnWidth(9, 6 * 256);//J
+ ws.SetColumnWidth(10, 6 * 256);//K
+ ws.SetColumnWidth(11, 6 * 256);//L
+ ws.SetColumnWidth(12, 1 * 256);//M
+ ws.SetColumnWidth(13, 7 * 256);//N
+ ws.SetColumnWidth(14, 5 * 256);//O
+ ws.SetColumnWidth(15, 9 * 256);//P
+ ws.SetColumnWidth(16, 9 * 256);//Q
+ ws.SetColumnWidth(17, 1 * 256);//R
+ //设置前3行高度
+ ws.GetRow(rowIndex + 0).HeightInPoints = 15f;
+ ws.GetRow(rowIndex + 1).HeightInPoints = 15f;
+ ws.GetRow(rowIndex + 2).HeightInPoints = 14f;
+
+ //设置3-15行的行高度
+ for (int i = rowIndex + 3; i < rowIndex + 15; i++)
+ {
+ ws.GetRow(i).HeightInPoints = 18f;
+ }
+
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex, rowIndex, 1, 1), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws);
+
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 16, 16), ws);
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws);
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 2, 16), ws);
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 2, 16), ws);
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 14, 0, 0), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 1, 1), ws);
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 16, 16), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 2, rowIndex + 14, 17, 17), ws);
+
+
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 9, rowIndex + 14, 2, 2), ws);
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 7, rowIndex + 7, 2, 16), ws);
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 8, rowIndex + 8, 2, 16), ws);
+ //插入图片
+ InsertImage(hssfworkbook, ws, rowIndex + 3, 2, rowIndex + 4, 3, img1, 1.2, 1.8);
+ InsertImage(hssfworkbook, ws, rowIndex + 3, 3, rowIndex + 4, 4, img2, 1.9, 1.9);
+ InsertImage(hssfworkbook, ws, rowIndex + 3, 13, rowIndex + 4, 14, img3, 1.5, 1.5);
+ InsertImage(hssfworkbook, ws, rowIndex + 3, 15, rowIndex + 4, 16, img4, 1.5, 1.5);
+
+ ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目");
+ var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13));
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT");
+ ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13));
+ ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("试压用水(工具)检查清单");
+ ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13));
+ ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("WATER(MACHINE) CALIBREATION LIST");
+ ws.GetRow(rowIndex + 6).GetCell(5).CellStyle = setStyle;
+
+ var cellStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
+ ws.GetRow(rowIndex + 9).GetCell(2).SetCellValue("Test Package No");
+ ws.GetRow(rowIndex + 9).GetCell(2).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 9).GetCell(5).SetCellValue(info?.testpackageNo);
+ ws.GetRow(rowIndex + 9).GetCell(5).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("Area");
+ ws.GetRow(rowIndex + 9).GetCell(9).CellStyle = cellStyle2;
+ ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue(info?.workAreaCode);
+
+ ws.GetRow(rowIndex + 10).GetCell(2).SetCellValue("试压包号");
+ ws.GetRow(rowIndex + 10).GetCell(2).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 10).GetCell(9).SetCellValue("区域");
+ ws.GetRow(rowIndex + 10).GetCell(9).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 11).GetCell(2).SetCellValue("System No");
+ ws.GetRow(rowIndex + 11).GetCell(2).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 11).GetCell(5).SetCellValue(info?.SystemNo);
+ ws.GetRow(rowIndex + 11).GetCell(5).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 11).GetCell(9).SetCellValue("Test Pressure");
+ ws.GetRow(rowIndex + 11).GetCell(9).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 11).GetCell(13).SetCellValue(info?.TestPressure);
+ ws.GetRow(rowIndex + 11).GetCell(13).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 12).GetCell(2).SetCellValue("系统号");
+ ws.GetRow(rowIndex + 12).GetCell(2).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 12).GetCell(9).SetCellValue("试验压力");
+ ws.GetRow(rowIndex + 12).GetCell(9).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 13).GetCell(9).SetCellValue("Test Type");
+ ws.GetRow(rowIndex + 13).GetCell(9).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 13).GetCell(13).SetCellValue(info?.TestType);
+ ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式");
+ ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13));
+ #endregion
+
+ #region 表格部分
+
+ style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 15, rowIndex + 40, style, 0, 17, true);
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (num == 1)
+ {
+ dStart = 0;
+ dEnd = 25;
+ }
+ else
+ {
+ dStart = num == 2 ? 25 : ((num - 2) * 25) + 25;
+ dEnd = ((num - 1) * 25) + 25;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int j = 0;
+ for (int i = 15; i <= 40; i++)
+ {
+ ws.GetRow(rowIndex + i).HeightInPoints = 18f;
+ ws.GetRow(rowIndex + i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
+ ws.GetRow(rowIndex + i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.GetRow(rowIndex + i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 12));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16));
+
+ if (i > 15)
+ {
+ if (pageTb.Rows.Count > j)
+ {
+ var dr = pageTb.Rows[j];
+ ws.GetRow(rowIndex + i).GetCell(3).SetCellValue(dr["PTP_ID"].ToString());
+ }
+ j++;
+ }
+ }
+ ws.GetRow(rowIndex + 15).HeightInPoints = 30f;
+ //数据表头部分
+ ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号");
+ ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Report Name\r\n报告名称");
+ ws.GetRow(rowIndex + 15).GetCell(6).SetCellValue("Report No.\r\n报告编号");
+ ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Date of Issue report\r\n报告出具日期");
+ ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue("Expiry Date\r\n有效期");
+ ws.GetRow(rowIndex + 15).GetCell(15).SetCellValue("Remark\r\n备注");
+
+ #endregion
+
+ #region 尾部
+
+ //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 41, rowIndex + 46, style, 0, 17, true);
+ for (int i = rowIndex + 41; i <= rowIndex + 46; i++)
+ {
+ ws.GetRow(i).HeightInPoints = 14f;
+ ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
+ ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
+ ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ }
+
+ for (int i = 2; i < 17; i++)
+ {
+ ws.GetRow(rowIndex + 46).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
+ }
+ ws.GetRow(rowIndex + 46).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None);
+ ws.GetRow(rowIndex + 46).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
+ ws.GetRow(rowIndex + 46).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 2, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 5, 6));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 7, 9));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 10, 13));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 41, rowIndex + 43, 14, 16));
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 44, 2, 4));
+ ws.GetRow(rowIndex + 44).GetCell(2).SetCellValue("PREPARED");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 44, 5, 6));
+ ws.GetRow(rowIndex + 44).GetCell(5).SetCellValue("REVIEW");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 45, 7, 9));
+ ws.GetRow(rowIndex + 44).GetCell(7).SetCellValue("JIANLI");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 45, 10, 13));
+ ws.GetRow(rowIndex + 44).GetCell(10).SetCellValue("Worley");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 44, rowIndex + 45, 14, 16));
+ ws.GetRow(rowIndex + 44).GetCell(14).SetCellValue("BASF");
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 45, rowIndex + 45, 2, 6));
+ ws.GetRow(rowIndex + 45).GetCell(2).SetCellValue("CC7");
+
+ #endregion
+
+ rowIndex += 47;
+
}
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(0, 0, 1, 1), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 1, 17, 17), ws);
-
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 16, 16), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 17, 17), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 2, 16), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(2, 2, 2, 16), ws);
-
- RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 14, 0, 0), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 1, 1), ws);
-
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 16, 16), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 17, 17), ws);
-
-
- RegionUtil.SetBorderLeft(2, new CellRangeAddress(9, 14, 2, 2), ws);
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(7, 7, 2, 16), ws);
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(8, 8, 2, 16), ws);
- //插入图片
- InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8);
- InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 1.9, 1.9);
- InsertImage(hssfworkbook, ws, 3, 13, 4, 14, img3, 1.5, 1.5);
- InsertImage(hssfworkbook, ws, 3, 15, 4, 16, img4, 1.5, 1.5);
-
- ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目");
- var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13));
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT");
- ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13));
- ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("试压用水(工具)检查清单");
- ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13));
- ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("WATER(MACHINE) CALIBREATION LIST");
- ws.GetRow(rowIndex + 6).GetCell(5).CellStyle = setStyle;
-
- var cellStyle2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, false, false, "Arial Unicode MS");
- ws.GetRow(rowIndex + 9).GetCell(2).SetCellValue("Test Package No");
- ws.GetRow(rowIndex + 9).GetCell(2).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 9).GetCell(5).SetCellValue(info?.testpackageNo);
- ws.GetRow(rowIndex + 9).GetCell(5).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 9).GetCell(9).SetCellValue("Area");
- ws.GetRow(rowIndex + 9).GetCell(9).CellStyle = cellStyle2;
- ws.GetRow(rowIndex + 9).GetCell(13).SetCellValue(info?.workAreaCode);
-
- ws.GetRow(rowIndex + 10).GetCell(2).SetCellValue("试压包号");
- ws.GetRow(rowIndex + 10).GetCell(2).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 10).GetCell(9).SetCellValue("区域");
- ws.GetRow(rowIndex + 10).GetCell(9).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 11).GetCell(2).SetCellValue("System No");
- ws.GetRow(rowIndex + 11).GetCell(2).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 11).GetCell(5).SetCellValue(info?.SystemNo);
- ws.GetRow(rowIndex + 11).GetCell(5).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 11).GetCell(9).SetCellValue("Test Pressure");
- ws.GetRow(rowIndex + 11).GetCell(9).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 11).GetCell(13).SetCellValue(info?.TestPressure);
- ws.GetRow(rowIndex + 11).GetCell(13).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 12).GetCell(2).SetCellValue("系统号");
- ws.GetRow(rowIndex + 12).GetCell(2).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 12).GetCell(9).SetCellValue("试验压力");
- ws.GetRow(rowIndex + 12).GetCell(9).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 13).GetCell(9).SetCellValue("Test Type");
- ws.GetRow(rowIndex + 13).GetCell(9).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 13).GetCell(13).SetCellValue(info?.TestType);
- ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式");
- ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13));
- #endregion
-
- #region 表格部分
-
- style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "Arial Unicode MS");
- ws = ExcelCreateRow(ws, hssfworkbook, 15, rowIndex + 49, style, 0, 17, true);
- for (int i = 15; i < 50; i++)
- {
- ws.GetRow(i).Height = 25 * 20;
- ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
- ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 5));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 6, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 12));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 15, 16));
- }
- ws.GetRow(15).Height = 30 * 20;
- //数据表头部分
- ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号");
- ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Report Name\r\n报告名称");
- ws.GetRow(rowIndex + 15).GetCell(6).SetCellValue("Report No.\r\n报告编号");
- ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Date of Issue report\r\n报告出具日期");
- ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue("Expiry Date\r\n有效期");
- ws.GetRow(rowIndex + 15).GetCell(15).SetCellValue("Remark\r\n备注");
-
- #endregion
-
- #region 尾部
-
- //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。
- ws = ExcelCreateRow(ws, hssfworkbook, 49, rowIndex + 55, style, 0, 17, true);
- for (int i = 49; i <= 55; i++)
- {
- ws.GetRow(i).Height = 18 * 20;
- ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
- ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
- ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- }
-
- for (int i = 2; i < 17; i++)
- {
- ws.GetRow(rowIndex + 55).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
- }
- ws.GetRow(rowIndex + 55).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None);
- ws.GetRow(rowIndex + 55).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
- ws.GetRow(rowIndex + 55).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 2, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 5, 6));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 7, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 10, 13));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 14, 16));
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 2, 4));
- ws.GetRow(rowIndex + 53).GetCell(2).SetCellValue("PREPARED");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 5, 6));
- ws.GetRow(rowIndex + 53).GetCell(5).SetCellValue("REVIEW");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 7, 9));
- ws.GetRow(rowIndex + 53).GetCell(7).SetCellValue("JIANLI");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 10, 13));
- ws.GetRow(rowIndex + 53).GetCell(10).SetCellValue("Worley");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 14, 16));
- ws.GetRow(rowIndex + 53).GetCell(14).SetCellValue("BASF");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6));
- ws.GetRow(rowIndex + 54).GetCell(2).SetCellValue("CC7");
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
+ ws.PrintSetup.Landscape = false;
+ ws.ForceFormulaRecalculation = true;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
+ //ws.PrintSetup.FitWidth = 1;
+ //ws.PrintSetup.FitHeight = 0;
+ //ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ //ws.FitToPage = true;
+ ////垂直水平居中
+ //ws.VerticallyCenter = true;
+ //ws.HorizontallyCenter = true;
+ ////打印边距设置 厘米/3
+ //ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
+ //ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
+ //ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////页眉页脚间距
+ //ws.SetMargin(MarginType.HeaderMargin, 0);
+ //ws.SetMargin(MarginType.FooterMargin, 0);
}
@@ -5871,12 +6467,12 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
#region 尾部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 16, rowIndex + 18, style, 0, 8, true);
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 16, rowIndex + 23, style, 0, 8, true);
//设置行高
ws.GetRow(rowIndex + 16).Height = 50 * 20;
ws.GetRow(rowIndex + 17).Height = 50 * 20;
- ws.GetRow(rowIndex + 18).Height = 150 * 20;
+ ws.GetRow(rowIndex + 23).Height = 150 * 20;
//合并单元格填充文本数据
ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 8));
ws.GetRow(rowIndex + 16).GetCell(0).CellStyle = style2;
@@ -5892,12 +6488,12 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 17).GetCell(2).SetCellValue("总承包单位\nGeneral Contractor");
ws.GetRow(rowIndex + 17).GetCell(6).SetCellValue("施工单位\nConstruction Company");
- ws.GetRow(rowIndex + 18).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:");
- ws.GetRow(rowIndex + 18).GetCell(2).CellStyle = style2;
- ws.GetRow(rowIndex + 18).GetCell(2).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:");
- ws.GetRow(rowIndex + 18).GetCell(6).CellStyle = style2;
- ws.GetRow(rowIndex + 18).GetCell(6).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 班(组)长:\n Leader:\n\n 日期Date:");
+ ws.GetRow(rowIndex + 23).GetCell(0).CellStyle = style2;
+ ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:");
+ ws.GetRow(rowIndex + 23).GetCell(2).CellStyle = style2;
+ ws.GetRow(rowIndex + 23).GetCell(2).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:");
+ ws.GetRow(rowIndex + 23).GetCell(6).CellStyle = style2;
+ ws.GetRow(rowIndex + 23).GetCell(6).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 班(组)长:\n Leader:\n\n 日期Date:");
#endregion
@@ -6253,8 +6849,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("临时加固措施、盲板位置与标识符和施工方案要求。Temporary reinforcement measures, blind position and markings must be incompliance with Specification.");
ws.GetRow(rowIndex + 17).GetCell(0).CellStyle = style2;
ws.GetRow(rowIndex + 17).GetCell(0).SetCellValue("焊接接头及需要检验的部位未被覆盖。Welds and other positions to be tested have not yet been painted and heat-insulated.");
- ws.GetRow(rowIndex + 18).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("试压用压力表量程、精度等级、检定状态符合规范要求。Scale, accuracy and calibration state of test use pressure gauge must be incompliance with specification. ");
+ ws.GetRow(rowIndex + 23).GetCell(0).CellStyle = style2;
+ ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("试压用压力表量程、精度等级、检定状态符合规范要求。Scale, accuracy and calibration state of test use pressure gauge must be incompliance with specification. ");
ws.GetRow(rowIndex + 19).GetCell(0).CellStyle = style2;
ws.GetRow(rowIndex + 19).GetCell(0).SetCellValue("不锈钢管道试验用水符合规范要求。Test use water of stainless steel pipline must be incompliance with specification.");
@@ -6546,7 +7142,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("所有的阀门涂油脂和试压已经完成。All valves have been greased and stroked.");
ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("螺纹连接根据规范要求进行。Compound on screwed connections in accordance with specification.");
ws.GetRow(rowIndex + 17).GetCell(0).SetCellValue("安装所有的制动装置和联动装置。All locking device/interlocks installed.");
- ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("检查和确定弹簧支架、滑动支架装置。Spring Support,Gags removed&support settings confirmed/Checked.");
+ ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("检查和确定弹簧支架、滑动支架装置。Spring Support,Gags removed&support settings confirmed/Checked.");
ws.GetRow(rowIndex + 19).GetCell(0).SetCellValue("如果需要,释放给化学清洗、油洗。System released for chemical cleaning /hot oil flushing ,if required.");
#endregion
@@ -6833,7 +7429,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
{
hssfworkbook = (XSSFWorkbook)WorkbookFactory.Create(file);
}
-
+
//操作目录模版sheet是否存在,不存在就把对应的sheet删除掉(特殊处理)
int index = 0;
if (!templateFileIds.Contains("2BEFB0F4-A466-4C59-963F-9092BACF2E52"))
@@ -6868,7 +7464,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
continue;
switch (templateFileId)
{
-
+
//6-TP-05-P&ID清单UG-FW-001 模版
case "811EF650-7686-447F-BEE8-776D50041CD0":
XSSFSheet sheet6 = (XSSFSheet)hssfworkbook.CreateSheet(oneTemp.Title);
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/WeldingReport/WeldDailyExport.aspx b/HJGL/FineUIPro.Web/WeldingProcess/WeldingReport/WeldDailyExport.aspx
index 527447b..bd51b5a 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/WeldingReport/WeldDailyExport.aspx
+++ b/HJGL/FineUIPro.Web/WeldingProcess/WeldingReport/WeldDailyExport.aspx
@@ -21,7 +21,7 @@
@@ -65,6 +65,7 @@
+
ids = new List();
+ foreach (DataRow dr in data.Rows)
+ {
+ ids.Add(dr["WeldJointId"].ToString());
+ }
+ ModifyAuditStatus(ids, 1);
+ this.BindGrid();
+ ShowNotify("批量审核成功!", MessageBoxIcon.Success);
+ }
//审核
protected void btnAudit_Click(object sender,EventArgs e)
{
- ModifyAuditStatus(1);
+ var listIds = GetWeldJointIdList();
+ if (listIds.Count == 0)
+ {
+ ShowNotify("请选择要审核的焊接日报数据", MessageBoxIcon.Warning);
+ return;
+ }
+ ModifyAuditStatus(listIds,1);
this.BindGrid();
ShowNotify("批量审核成功!", MessageBoxIcon.Success);
@@ -264,10 +286,17 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
//取消审核
protected void btnCancel_Click(object sender, EventArgs e)
{
- ModifyAuditStatus(0);
+ var listIds = GetWeldJointIdList();
+ if (listIds.Count == 0)
+ {
+ ShowNotify("请选择要取消审核的焊接日报数据", MessageBoxIcon.Warning);
+ return;
+ }
+ ModifyAuditStatus(listIds,0);
this.BindGrid();
ShowNotify("批量取消审核成功!", MessageBoxIcon.Success);
}
+
//发送邮件
protected void btnSendEmail_Click(object sender,EventArgs e)
{
@@ -288,187 +317,195 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
}
string ReportFileName = filePath + $"焊接日报_{DateTime.Now.ToString("yyyyMMddhhmmss")}.xlsx";
- FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
- XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
-
- hssfworkbook.RemoveAt(0);
- XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("Sheet1");
-
- int rowIndex = 0;
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 20, true, true, "微软雅黑");
-
- #region 头部
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style, 0, 19, true);
- ws.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(rowIndex, rowIndex, 0, 19));
- //设置表头文字
- ws.GetRow(rowIndex).GetCell(0).SetCellValue("焊接日报表\nWelding Daily Report");
- var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, true, true, "Arial");
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style2, 0, 19, true);
- //设置表格表头
- ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("序号");
- ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("管线号-页码");
- ws.GetRow(rowIndex + 1).GetCell(2).SetCellValue("图纸版本");
- ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("焊口号");
- ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("焊接形式");
- ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("焊接位置");
- ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("寸径");
- ws.GetRow(rowIndex + 1).GetCell(7).SetCellValue("规格");
- ws.GetRow(rowIndex + 1).GetCell(8).SetCellValue("焊工号");
- ws.GetRow(rowIndex + 1).GetCell(9).SetCellValue("组对部件1");
- ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("组件1材质");
- ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue("组件1炉批号");
- ws.GetRow(rowIndex + 1).GetCell(12).SetCellValue("组对部件2");
- ws.GetRow(rowIndex + 1).GetCell(13).SetCellValue("组件2材质");
- ws.GetRow(rowIndex + 1).GetCell(14).SetCellValue("组件2炉批号");
- ws.GetRow(rowIndex + 1).GetCell(15).SetCellValue("焊接方法");
- ws.GetRow(rowIndex + 1).GetCell(16).SetCellValue("组对");
- ws.GetRow(rowIndex + 1).GetCell(17).SetCellValue("外观");
- ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue("焊接日期");
- ws.GetRow(rowIndex + 1).GetCell(19).SetCellValue("备注");
-
- ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("S/N");
- ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("LineNo.-PageNo.");
- ws.GetRow(rowIndex + 2).GetCell(2).SetCellValue("Drawing\nRev");
- ws.GetRow(rowIndex + 2).GetCell(3).SetCellValue("Joint\nNo.");
- ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("JointType");
- ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("Welding\nLocation");
- ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("Inch");
- ws.GetRow(rowIndex + 2).GetCell(7).SetCellValue("Size");
- ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("Welder\nNo.");
- ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("Part(1)");
- ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue("Material(1)");
- ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue("Heat\nNo.(1)");
- ws.GetRow(rowIndex + 2).GetCell(12).SetCellValue("Part(2)");
- ws.GetRow(rowIndex + 2).GetCell(13).SetCellValue("Material(2)");
- ws.GetRow(rowIndex + 2).GetCell(14).SetCellValue("Heat\nNo.(2)");
- ws.GetRow(rowIndex + 2).GetCell(15).SetCellValue("Weld\nProcess");
- ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("Fit\nUp");
- ws.GetRow(rowIndex + 2).GetCell(17).SetCellValue("VT");
- ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("Welding\nDate");
- ws.GetRow(rowIndex + 2).GetCell(19).SetCellValue("Remark");
-
- ws.GetRow(rowIndex).Height = 69 * 20;
- ws.GetRow(rowIndex + 1).Height = 15 * 20;
- ws.GetRow(rowIndex + 2).Height = 30 * 20;
-
- ws.SetColumnWidth(0, 5 * 256);
- ws.SetColumnWidth(1, (int)(21.67 * 256));
- ws.SetColumnWidth(2, (int)(9.78 * 256));
- ws.SetColumnWidth(3, (int)(5.33 * 256));
- ws.SetColumnWidth(4, (int)(7.67 * 256));
- ws.SetColumnWidth(5, (int)(8.33 * 256));
- ws.SetColumnWidth(6, (int)(7 * 256));
- ws.SetColumnWidth(7, (int)(10.82 * 256));
- ws.SetColumnWidth(8, (int)(8.33 * 256));
- ws.SetColumnWidth(9, (int)(8.40 * 256));
- ws.SetColumnWidth(10, (int)(15.67 * 256));
- ws.SetColumnWidth(11, (int)(12 * 256));
- ws.SetColumnWidth(12, (int)(8.22 * 256));
- ws.SetColumnWidth(13, (int)(16.33 * 256));
- ws.SetColumnWidth(14, (int)(11.45 * 256));
- ws.SetColumnWidth(15, (int)(11.00 * 256));
- ws.SetColumnWidth(16, (int)(4.00 * 256));
- ws.SetColumnWidth(17, (int)(4.00 * 256));
- ws.SetColumnWidth(18, (int)(9.00 * 256));
- ws.SetColumnWidth(19, (int)(7 * 256));
- #endregion
-
- const int pageSize = 65;
-
- var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, false, false, "sans-serif");
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, dt.Rows.Count + 2, style3, 0, 19);
- for (int i = 0; i < dt.Rows.Count; i++)
+ try
{
- int startIndex = (i + 3);
- ws.GetRow(startIndex).GetCell(0).SetCellValue(i + 1);
- ws.GetRow(startIndex).GetCell(1).SetCellValue(dt.Rows[i]["SingleNumber"].ToString());
- ws.GetRow(startIndex).GetCell(2).SetCellValue(dt.Rows[i]["DrawingsNum"].ToString());
- ws.GetRow(startIndex).GetCell(3).SetCellValue(dt.Rows[i]["WeldJointCode"].ToString());
- ws.GetRow(startIndex).GetCell(4).SetCellValue(dt.Rows[i]["WeldTypeCode"].ToString());
- ws.GetRow(startIndex).GetCell(5).SetCellValue(dt.Rows[i]["WeldingLocationCode"].ToString());
- ws.GetRow(startIndex).GetCell(6).SetCellValue(dt.Rows[i]["Size"].ToString());
- ws.GetRow(startIndex).GetCell(7).SetCellValue(dt.Rows[i]["Specification"].ToString());
- ws.GetRow(startIndex).GetCell(8).SetCellValue(dt.Rows[i]["WelderCode"].ToString());
- ws.GetRow(startIndex).GetCell(9).SetCellValue(dt.Rows[i]["ComponentsName1"].ToString());
- ws.GetRow(startIndex).GetCell(10).SetCellValue(dt.Rows[i]["MaterialCode1"].ToString());
- ws.GetRow(startIndex).GetCell(11).SetCellValue(dt.Rows[i]["HeartNo1"].ToString());
- ws.GetRow(startIndex).GetCell(12).SetCellValue(dt.Rows[i]["ComponentsName2"].ToString());
- ws.GetRow(startIndex).GetCell(13).SetCellValue(dt.Rows[i]["MaterialCode2"].ToString());
- ws.GetRow(startIndex).GetCell(14).SetCellValue(dt.Rows[i]["HeartNo2"].ToString());
- ws.GetRow(startIndex).GetCell(15).SetCellValue(dt.Rows[i]["WeldingMethodName"].ToString());
- ws.GetRow(startIndex).GetCell(16).SetCellValue("ACC");
- ws.GetRow(startIndex).GetCell(17).SetCellValue("ACC");
- ws.GetRow(startIndex).GetCell(18).SetCellValue(dt.Rows[i]["WeldingDate"].ToString());
- ws.GetRow(startIndex).GetCell(19).SetCellValue(dt.Rows[i]["Remark"].ToString());
- ws.GetRow(startIndex).Height = 10 * 20;
- if (startIndex == pageSize)
- {
- ws.SetRowBreak(startIndex);
- startIndex += pageSize;
- }
- }
+ FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
+ XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
- if (dt.Rows.Count > 0)
+ hssfworkbook.RemoveAt(0);
+ XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("Sheet1");
+
+ int rowIndex = 0;
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 20, true, true, "微软雅黑");
+
+ #region 头部
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style, 0, 19, true);
+ ws.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(rowIndex, rowIndex, 0, 19));
+ //设置表头文字
+ ws.GetRow(rowIndex).GetCell(0).SetCellValue("焊接日报表\nWelding Daily Report");
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, true, true, "Arial");
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 2, style2, 0, 19, true);
+ //设置表格表头
+ ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("序号");
+ ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("管线号-页码");
+ ws.GetRow(rowIndex + 1).GetCell(2).SetCellValue("图纸版本");
+ ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("焊口号");
+ ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("焊接形式");
+ ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("焊接位置");
+ ws.GetRow(rowIndex + 1).GetCell(6).SetCellValue("寸径");
+ ws.GetRow(rowIndex + 1).GetCell(7).SetCellValue("规格");
+ ws.GetRow(rowIndex + 1).GetCell(8).SetCellValue("焊工号");
+ ws.GetRow(rowIndex + 1).GetCell(9).SetCellValue("组对部件1");
+ ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("组件1材质");
+ ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue("组件1炉批号");
+ ws.GetRow(rowIndex + 1).GetCell(12).SetCellValue("组对部件2");
+ ws.GetRow(rowIndex + 1).GetCell(13).SetCellValue("组件2材质");
+ ws.GetRow(rowIndex + 1).GetCell(14).SetCellValue("组件2炉批号");
+ ws.GetRow(rowIndex + 1).GetCell(15).SetCellValue("焊接方法");
+ ws.GetRow(rowIndex + 1).GetCell(16).SetCellValue("组对");
+ ws.GetRow(rowIndex + 1).GetCell(17).SetCellValue("外观");
+ ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue("焊接日期");
+ ws.GetRow(rowIndex + 1).GetCell(19).SetCellValue("备注");
+
+ ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("S/N");
+ ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("LineNo.-PageNo.");
+ ws.GetRow(rowIndex + 2).GetCell(2).SetCellValue("Drawing\nRev");
+ ws.GetRow(rowIndex + 2).GetCell(3).SetCellValue("Joint\nNo.");
+ ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("JointType");
+ ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("Welding\nLocation");
+ ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("Inch");
+ ws.GetRow(rowIndex + 2).GetCell(7).SetCellValue("Size");
+ ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("Welder\nNo.");
+ ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("Part(1)");
+ ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue("Material(1)");
+ ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue("Heat\nNo.(1)");
+ ws.GetRow(rowIndex + 2).GetCell(12).SetCellValue("Part(2)");
+ ws.GetRow(rowIndex + 2).GetCell(13).SetCellValue("Material(2)");
+ ws.GetRow(rowIndex + 2).GetCell(14).SetCellValue("Heat\nNo.(2)");
+ ws.GetRow(rowIndex + 2).GetCell(15).SetCellValue("Weld\nProcess");
+ ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue("Fit\nUp");
+ ws.GetRow(rowIndex + 2).GetCell(17).SetCellValue("VT");
+ ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("Welding\nDate");
+ ws.GetRow(rowIndex + 2).GetCell(19).SetCellValue("Remark");
+
+ ws.GetRow(rowIndex).Height = 69 * 20;
+ ws.GetRow(rowIndex + 1).Height = 15 * 20;
+ ws.GetRow(rowIndex + 2).Height = 30 * 20;
+
+ ws.SetColumnWidth(0, 5 * 256);
+ ws.SetColumnWidth(1, (int)(21.67 * 256));
+ ws.SetColumnWidth(2, (int)(9.78 * 256));
+ ws.SetColumnWidth(3, (int)(5.33 * 256));
+ ws.SetColumnWidth(4, (int)(7.67 * 256));
+ ws.SetColumnWidth(5, (int)(8.33 * 256));
+ ws.SetColumnWidth(6, (int)(7 * 256));
+ ws.SetColumnWidth(7, (int)(10.82 * 256));
+ ws.SetColumnWidth(8, (int)(8.33 * 256));
+ ws.SetColumnWidth(9, (int)(8.40 * 256));
+ ws.SetColumnWidth(10, (int)(15.67 * 256));
+ ws.SetColumnWidth(11, (int)(12 * 256));
+ ws.SetColumnWidth(12, (int)(8.22 * 256));
+ ws.SetColumnWidth(13, (int)(16.33 * 256));
+ ws.SetColumnWidth(14, (int)(11.45 * 256));
+ ws.SetColumnWidth(15, (int)(11.00 * 256));
+ ws.SetColumnWidth(16, (int)(4.00 * 256));
+ ws.SetColumnWidth(17, (int)(4.00 * 256));
+ ws.SetColumnWidth(18, (int)(9.00 * 256));
+ ws.SetColumnWidth(19, (int)(7 * 256));
+ #endregion
+
+ const int pageSize = 65;
+
+ var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, false, false, "sans-serif");
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 3, dt.Rows.Count + 2, style3, 0, 19);
+ for (int i = 0; i < dt.Rows.Count; i++)
+ {
+ int startIndex = (i + 3);
+ ws.GetRow(startIndex).GetCell(0).SetCellValue(i + 1);
+ ws.GetRow(startIndex).GetCell(1).SetCellValue(dt.Rows[i]["SingleNumber"].ToString());
+ ws.GetRow(startIndex).GetCell(2).SetCellValue(dt.Rows[i]["DrawingsNum"].ToString());
+ ws.GetRow(startIndex).GetCell(3).SetCellValue(dt.Rows[i]["WeldJointCode"].ToString());
+ ws.GetRow(startIndex).GetCell(4).SetCellValue(dt.Rows[i]["WeldTypeCode"].ToString());
+ ws.GetRow(startIndex).GetCell(5).SetCellValue(dt.Rows[i]["WeldingLocationCode"].ToString());
+ ws.GetRow(startIndex).GetCell(6).SetCellValue(dt.Rows[i]["Size"].ToString());
+ ws.GetRow(startIndex).GetCell(7).SetCellValue(dt.Rows[i]["Specification"].ToString());
+ ws.GetRow(startIndex).GetCell(8).SetCellValue(dt.Rows[i]["WelderCode"].ToString());
+ ws.GetRow(startIndex).GetCell(9).SetCellValue(dt.Rows[i]["ComponentsName1"].ToString());
+ ws.GetRow(startIndex).GetCell(10).SetCellValue(dt.Rows[i]["MaterialCode1"].ToString());
+ ws.GetRow(startIndex).GetCell(11).SetCellValue(dt.Rows[i]["HeartNo1"].ToString());
+ ws.GetRow(startIndex).GetCell(12).SetCellValue(dt.Rows[i]["ComponentsName2"].ToString());
+ ws.GetRow(startIndex).GetCell(13).SetCellValue(dt.Rows[i]["MaterialCode2"].ToString());
+ ws.GetRow(startIndex).GetCell(14).SetCellValue(dt.Rows[i]["HeartNo2"].ToString());
+ ws.GetRow(startIndex).GetCell(15).SetCellValue(dt.Rows[i]["WeldingMethodName"].ToString());
+ ws.GetRow(startIndex).GetCell(16).SetCellValue("ACC");
+ ws.GetRow(startIndex).GetCell(17).SetCellValue("ACC");
+ ws.GetRow(startIndex).GetCell(18).SetCellValue(dt.Rows[i]["WeldingDate"].ToString());
+ ws.GetRow(startIndex).GetCell(19).SetCellValue(dt.Rows[i]["Remark"].ToString());
+ ws.GetRow(startIndex).Height = 10 * 20;
+ if (startIndex == pageSize)
+ {
+ ws.SetRowBreak(startIndex);
+ startIndex += pageSize;
+ }
+ }
+
+ if (dt.Rows.Count > 0)
+ {
+ string weldingDate = string.Empty;
+ if (txtStarTime.Text == txtEndTime.Text)
+ {
+ weldingDate = txtStarTime.Text;
+ }
+ else
+ {
+ weldingDate = txtStarTime.Text + "-" + txtEndTime.Text;
+ }
+ var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, true, true, "Arial");
+
+ ws = ExcelCreateRow(ws, hssfworkbook, dt.Rows.Count + 3, dt.Rows.Count + 3, style4, 0, 19);
+ var distinctPipelineCode = dt.AsEnumerable().GroupBy(row => row.Field("PipelineCode")).Select(group => group.First());
+ var distinctWelder = dt.AsEnumerable().GroupBy(row => row.Field("WelderCode")).Select(group => group.First());
+ decimal sumSize = decimal.Parse(dt.Compute("sum(Size)", "").ToString());
+
+ ws.GetRow(dt.Rows.Count + 3).GetCell(0).SetCellValue("Total");
+ ws.GetRow(dt.Rows.Count + 3).GetCell(1).SetCellValue($"{distinctPipelineCode.Count().ToString()}");
+ ws.GetRow(dt.Rows.Count + 3).GetCell(3).SetCellValue($"{dt.Rows.Count}");
+ ws.GetRow(dt.Rows.Count + 3).GetCell(6).SetCellValue($"{sumSize}");
+ ws.GetRow(dt.Rows.Count + 3).GetCell(8).SetCellValue($"{distinctWelder.Count().ToString()}");
+ ws.GetRow(dt.Rows.Count + 3).Height = 20 * 20;
+
+
+
+ }
+
+ #region 页脚部分
+ IFooter footer = ws.Footer;
+ string str = " CC7: 监理: Worley:";
+ str += "\n\n第 &P 页,共 &N 页";
+ footer.Center = str;
+
+
+ #endregion
+
+ ws.FitToPage = true;
+ ws.PrintSetup.FitWidth = 1;
+ ws.PrintSetup.FitHeight = short.MaxValue;
+
+ ws.SetMargin(MarginType.LeftMargin, (double)1.2 / 3);
+ ws.SetMargin(MarginType.RightMargin, (double)0.5 / 3);
+ ws.SetMargin(MarginType.TopMargin, (double)1.8 / 3);
+ ws.SetMargin(MarginType.BottomMargin, (double)2.9 / 3);
+ ws.PrintSetup.Landscape = true;
+ ws.ForceFormulaRecalculation = true;
+ ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
+ ws.RepeatingRows = new NPOI.SS.Util.CellRangeAddress(0, 2, 0, 19);
+
+ using (FileStream filess = System.IO.File.OpenWrite(ReportFileName))
+ {
+ hssfworkbook.Write(filess);
+ }
+ hssfworkbook.Close();
+
+ this.GetEmailTemplateAndSendEmail(ReportFileName);
+ File.Delete(ReportFileName);
+ ShowNotify("焊接日报发送成功!", MessageBoxIcon.Success);
+ }
+ catch (Exception ex)
{
- string weldingDate = string.Empty;
- if (txtStarTime.Text == txtEndTime.Text)
- {
- weldingDate = txtStarTime.Text;
- }
- else
- {
- weldingDate = txtStarTime.Text + "-" + txtEndTime.Text;
- }
- var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9, true, true, "Arial");
-
- ws = ExcelCreateRow(ws, hssfworkbook, dt.Rows.Count + 3, dt.Rows.Count + 3, style4, 0, 19);
- var distinctPipelineCode = dt.AsEnumerable().GroupBy(row => row.Field("PipelineCode")).Select(group => group.First());
- var distinctWelder = dt.AsEnumerable().GroupBy(row => row.Field("WelderCode")).Select(group => group.First());
- decimal sumSize = decimal.Parse(dt.Compute("sum(Size)", "").ToString());
-
- ws.GetRow(dt.Rows.Count + 3).GetCell(0).SetCellValue("Total");
- ws.GetRow(dt.Rows.Count + 3).GetCell(1).SetCellValue($"{distinctPipelineCode.Count().ToString()}");
- ws.GetRow(dt.Rows.Count + 3).GetCell(3).SetCellValue($"{dt.Rows.Count}");
- ws.GetRow(dt.Rows.Count + 3).GetCell(6).SetCellValue($"{sumSize}");
- ws.GetRow(dt.Rows.Count + 3).GetCell(8).SetCellValue($"{distinctWelder.Count().ToString()}");
- ws.GetRow(dt.Rows.Count + 3).Height = 20 * 20;
-
-
-
+ ShowNotify($"发送失败,原因:{ex.Message}", MessageBoxIcon.Error);
}
-
- #region 页脚部分
- IFooter footer = ws.Footer;
- string str = " CC7: 监理: Worley:";
- str += "\n\n第 &P 页,共 &N 页";
- footer.Center = str;
-
-
- #endregion
-
- ws.FitToPage = true;
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = short.MaxValue;
-
- ws.SetMargin(MarginType.LeftMargin, (double)1.2 / 3);
- ws.SetMargin(MarginType.RightMargin, (double)0.5 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)1.8 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.9 / 3);
- ws.PrintSetup.Landscape = true;
- ws.ForceFormulaRecalculation = true;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
- ws.RepeatingRows = new NPOI.SS.Util.CellRangeAddress(0, 2, 0, 19);
-
- using (FileStream filess = System.IO.File.OpenWrite(ReportFileName))
- {
- hssfworkbook.Write(filess);
- }
- hssfworkbook.Close();
-
- this.GetEmailTemplateAndSendEmail(ReportFileName);
- File.Delete(ReportFileName);
}
protected void Window1_Close(object sender, EventArgs e)
{
@@ -870,19 +907,16 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
private List GetWeldJointIdList()
{
List listIds = new List();
- for (int i = 0; i < Grid1.Rows.Count; i++)
+ int[] selections = Grid1.SelectedRowIndexArray;
+ foreach (int rowIndex in selections)
{
- AspNet.HiddenField WeldJointIdVal = Grid1.Rows[i].FindControl("hidId") as AspNet.HiddenField;
- if (WeldJointIdVal != null)
- {
- listIds.Add(WeldJointIdVal.Value);
- }
+ string rowId = Grid1.DataKeys[rowIndex][0].ToString();
+ listIds.Add(rowId);
}
return listIds;
}
- private void ModifyAuditStatus(int auditStatus)
+ private void ModifyAuditStatus(List listIds, int auditStatus)
{
- var listIds = GetWeldJointIdList();
var result = Funs.DB.Pipeline_WeldJoint.Where(t => listIds.Contains(t.WeldJointId)).ToList();
foreach (var item in result)
{
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/WeldingReport/WeldDailyExport.aspx.designer.cs b/HJGL/FineUIPro.Web/WeldingProcess/WeldingReport/WeldDailyExport.aspx.designer.cs
index d0f494d..a78108c 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/WeldingReport/WeldDailyExport.aspx.designer.cs
+++ b/HJGL/FineUIPro.Web/WeldingProcess/WeldingReport/WeldDailyExport.aspx.designer.cs
@@ -158,6 +158,15 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
///
protected global::FineUIPro.Button BtnAnalyse;
+ ///
+ /// btnAuditAll 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAuditAll;
+
///
/// btnAudit 控件。
///