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/FineUIPro.Web/Web.config b/HJGL/FineUIPro.Web/Web.config
index baa8804..9ecdad1 100644
--- a/HJGL/FineUIPro.Web/Web.config
+++ b/HJGL/FineUIPro.Web/Web.config
@@ -9,7 +9,7 @@
-
+
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx
index e16c24b..8327805 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx
+++ b/HJGL/FineUIPro.Web/WeldingProcess/TestPackageManage/TestPackageManageAudit.aspx
@@ -53,7 +53,7 @@
@@ -66,7 +66,8 @@
-
+
@@ -214,7 +215,7 @@
-
/// 加载树
@@ -655,6 +662,11 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
Alert.ShowInTop("请选择打印报表!", MessageBoxIcon.Warning);
return;
}
+ if (string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID) )
+ {
+ Alert.ShowInTop("请选择试压包!", MessageBoxIcon.Warning);
+ return;
+ }
CreateDataExcel(selectValArray);
}
@@ -1146,210 +1158,368 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
int rowIndex = 0;
var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- #region 头部
+ //查询数据
+ string sql = @"select * from (
+ select
+ a.PTP_ID,
+ a.TestPackageNo,
+ d.WorkAreaId,
+ d.WorkAreaCode,
+ c.PipelineId,
+ c.PipelineCode,
+ c.SystemNumber,
+ a.TestHeat,
+ a.TestType,
+ c.SingleNumber,
+ c.DrawingsNum,
+ a.Remark,
+ (select top 1 PageNum from Pipeline_WeldJoint where PipelineId=b.PipelineId order by WeldJointCode) as PageNum
+ from PTP_TestPackage as a
+ inner join
+ PTP_PipelineList as b on a.PTP_ID=b.PTP_ID
+ left join
+ Pipeline_Pipeline as c on b.PipelineId=c.PipelineId
+ left join Project_WorkArea as d on b.WorkAreaId=d.WorkAreaId
+ ) as t where PTP_ID=@PTP_ID ";
+ SqlParameter[] parms = new SqlParameter[]{
+ new SqlParameter("@PTP_ID",this.tvControlItem.SelectedNodeID)
+ };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+ //获取试压包第一行记录
+
+ #region 分页数据
+ var tbNum = dt.Rows.Count;
+ var pageNum =tbNum < 34 ? 1
+ : Math.Ceiling((float)(tbNum - 34) / 34) + 1;
- 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, 3 * 256);
- ws.SetColumnWidth(1, 3 * 256);
- ws.SetColumnWidth(2, 8 * 256);
- ws.SetColumnWidth(3, 5 * 256);
- ws.SetColumnWidth(4, 5 * 256);
- ws.SetColumnWidth(5, 8 * 256);
- ws.SetColumnWidth(6, 8 * 256);
- ws.SetColumnWidth(7, 4 * 256);
- ws.SetColumnWidth(8, 8 * 256);
- ws.SetColumnWidth(9, 8 * 256);
- ws.SetColumnWidth(10, 8 * 256);
- ws.SetColumnWidth(11, 8 * 256);
- ws.SetColumnWidth(12, 1 * 256);
- ws.SetColumnWidth(13, 9 * 256);
- ws.SetColumnWidth(14, 9 * 256);
- ws.SetColumnWidth(15, 10 * 256);
- ws.SetColumnWidth(16, 6 * 256);
- ws.SetColumnWidth(17, 6 * 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 i = 1; i <= pageNum; i++)
{
- ws.GetRow(i).Height = 18 * 20;
+ #region 头部
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 15, style, 0, 17, true);
+ ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No.");
+ ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06");
+
+ #region 设置样式
+ //设置列宽度
+ ws.SetColumnWidth(0, 3 * 256);
+ ws.SetColumnWidth(1, 3 * 256);
+ ws.SetColumnWidth(2, 8 * 256);
+ ws.SetColumnWidth(3, 5 * 256);
+ ws.SetColumnWidth(4, 5 * 256);
+ ws.SetColumnWidth(5, 8 * 256);
+ ws.SetColumnWidth(6, 8 * 256);
+ ws.SetColumnWidth(7, 4 * 256);
+ ws.SetColumnWidth(8, 8 * 256);
+ ws.SetColumnWidth(9, 8 * 256);
+ ws.SetColumnWidth(10, 8 * 256);
+ ws.SetColumnWidth(11, 8 * 256);
+ ws.SetColumnWidth(12, 1 * 256);
+ ws.SetColumnWidth(13, 9 * 256);
+ ws.SetColumnWidth(14, 10 * 256);
+ ws.SetColumnWidth(15, 10 * 256);
+ ws.SetColumnWidth(16, 10 * 256);
+ ws.SetColumnWidth(17, 3 * 256);
+ //设置前3行高度
+ ws.GetRow(rowIndex + 0).Height = 15 * 20;
+ ws.GetRow(rowIndex + 1).Height = 15 * 20;
+ ws.GetRow(rowIndex + 2).Height = 14 * 20;
+ ws.GetRow(rowIndex + 3).Height = 18 * 20;
+ ws.GetRow(rowIndex + 4).Height = 18 * 20;
+ ws.GetRow(rowIndex + 5).Height = 18 * 20;
+ ws.GetRow(rowIndex + 6).Height = 18 * 20;
+ ws.GetRow(rowIndex + 7).Height = 18 * 20;
+ ws.GetRow(rowIndex + 8).Height = 18 * 20;
+ ws.GetRow(rowIndex + 9).Height = 18 * 20;
+ ws.GetRow(rowIndex + 10).Height = 18 * 20;
+ ws.GetRow(rowIndex + 11).Height = 18 * 20;
+ ws.GetRow(rowIndex + 12).Height = 18 * 20;
+ ws.GetRow(rowIndex + 13).Height = 18 * 20;
+ ws.GetRow(rowIndex + 14).Height = 18 * 20;
+
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex+0, rowIndex+0, 1, 1), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex+1, rowIndex+1, 17, 17), ws);
+
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex+1, rowIndex + 1, 16, 16), ws);
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 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);
+ #endregion
+
+ #region 插入图片
+ InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8);
+ InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 10, 2, 30, 2);
+ InsertImage(hssfworkbook, ws, 3, 14, 4, 14, img3, 1.5, 2, 8, 2);
+ InsertImage(hssfworkbook, ws, 3, 15, 4, 15, img4, 3, 2, 35, 2);
+ #endregion
+
+ #region 试压包头部分
+
+ string TestPackageNo = string.Empty;
+ string WorkAreaCode = string.Empty;
+ string SystemNo = string.Empty;
+ string TestHeat = string.Empty;
+ string TestType = string.Empty;
+ if (dt.Rows.Count > 0)
+ {
+ TestPackageNo = dt.Rows[0]["TestPackageNo"].ToString();
+ WorkAreaCode = dt.Rows[0]["WorkAreaCode"].ToString();
+ SystemNo = dt.Rows[0]["SystemNumber"].ToString();
+ TestHeat = dt.Rows[0]["TestHeat"].ToString();
+ TestType = dt.Rows[0]["TestType"].ToString();
+ }
+ ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目");
+ var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13));
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT");
+ ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13));
+ ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("试压包流程图清单");
+ ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13));
+ ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("TEST PACKAGE P&ID DRAWING 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(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(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(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(TestHeat);
+ 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(TestType);
+ ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式");
+ ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2;
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 9, rowIndex + 14, 8, 8), ws);
+ #endregion
+ #endregion
+
+ #region 表格部分
+ //数据表头部分
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13));
+ ws.GetRow(rowIndex+15).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
+ ws.GetRow(rowIndex + 15).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.GetRow(rowIndex + 15).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 3, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 9, 13));
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 2, 16), ws);
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 2, 16), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 2, 2), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 8, 8), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 13, 13), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 14, 14), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 15, 15), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 16, 16), ws);
+ ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号");
+ ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("P&ID Drawing No.\r\n流程图号");
+ ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Drawing Description\r\n图纸名称");
+ ws.GetRow(rowIndex + 15).GetCell(14).SetCellValue("Rev\r\n版本");
+ ws.GetRow(rowIndex + 15).GetCell(15).SetCellValue("Sheet No.\r\n页码");
+ ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注");
+ ws.GetRow(rowIndex + 15).Height = 40 * 20;
+
+ style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11,false, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex+16, rowIndex + 50, style, 0, 17, true);
+
+ var dataTit = rowIndex + 16;
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (i == 1)
+ {
+ dStart = 0;
+ dEnd = 34;
+ }
+ else
+ {
+ dStart = i == 2 ? 34 : ((i - 2) * 34) + 34;
+ dEnd = ((i - 1) * 34) + 34;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int nextRow = 0;
+ int lastRow = 0;
+ int j = 0;
+ foreach (DataRow dr in pageTb.Rows)
+ {
+ int dataIndex = dataTit + j;
+ ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}");
+ ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["PipelineCode"].ToString());
+ ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["SingleNumber"].ToString());
+ ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["DrawingsNum"].ToString());
+ ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["PageNum"].ToString());
+ ws.GetRow(dataIndex).GetCell(16).SetCellValue(dr["Remark"].ToString());
+ ws.GetRow(dataIndex).Height = 14 * 20;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 3, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 9, 13));
+ ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws);
+ nextRow = dataIndex;
+ j++;
+ }
+ //如果pageData不满足33行数据的情况下,将设置剩余行高
+ if (pageTb.Rows.Count < 34)
+ {
+ for (int k = 1; k <= 34 - pageTb.Rows.Count; k++)
+ {
+ int dataIndex = rowIndex + nextRow + k;
+ ws.GetRow(dataIndex).Height = 14 * 20;
+ ws.GetRow(dataIndex).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
+ ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 3, 8));
+ ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 9, 13));
+ RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws);
+ lastRow = nextRow + k;
+ }
+ }
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + lastRow, rowIndex + lastRow, 2, 16), ws);
+ #endregion
+
+ #region 尾部
+
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex+50, rowIndex + 55, style, 0, 17, true);
+ ws.GetRow(rowIndex + 50).Height = 18 * 20;
+ ws.GetRow(rowIndex + 51).Height = 18 * 20;
+ ws.GetRow(rowIndex + 52).Height = 18 * 20;
+ ws.GetRow(rowIndex + 53).Height = 18 * 20;
+ ws.GetRow(rowIndex + 54).Height = 18 * 20;
+ ws.GetRow(rowIndex + 55).Height = 4 * 20;
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 55, 1, 1),ws);
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 55, 18, 18), ws);
+
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 54, 2, 2), ws);
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 54, 17, 17), ws);
+
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 52, rowIndex + 52, 2, 16), ws);
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 4, 4), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 6, 6), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 9, 9), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 13, 13), ws);
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 4, 4), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 4, 4), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 6, 6), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 9, 9), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 13, 13), ws);
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 53, rowIndex + 54, 2, 16), ws);
+
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 6, 6), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 9, 9), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 13, 13), ws);
+
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 55, rowIndex + 55, 1, 17), ws);
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 2, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 5, 6));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 7, 9));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 10, 13));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 14, 16));
+
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 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
+
+ rowIndex = rowIndex + 60;
}
-
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(0, 0, 1, 1), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 1, 17, 17), ws);
-
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 16, 16), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 17, 17), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 2, 16), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(2, 2, 2, 16), ws);
-
- RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 14, 0, 0), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 1, 1), ws);
-
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 16, 16), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 17, 17), ws);
-
-
- RegionUtil.SetBorderLeft(2, new CellRangeAddress(9, 14, 2, 2), ws);
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(7, 7, 2, 16), ws);
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(8, 8, 2, 16), ws);
- //插入图片
- InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8);
- InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 1.9, 1.9);
- InsertImage(hssfworkbook, ws, 3, 13, 4, 14, img3, 1.5, 1.5);
- InsertImage(hssfworkbook, ws, 3, 15, 4, 16, img4, 1.5, 1.5);
-
- ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目");
- var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13));
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT");
- ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13));
- ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("试压包流程图清单");
- ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13));
- ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("TEST PACKAGE P&ID DRAWING 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("UG-130-FW-HT-001");
- 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("C400");
-
- 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("FIRE WATER");
- 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("2");
- 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("Hydro Test");
- ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式");
- ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2;
-
- #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, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 13));
- }
- ws.GetRow(15).Height = 40 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13));
- //数据表头部分
- ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号");
- ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("P&ID Drawing No.\r\n流程图号");
- ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Drawing Description\r\n图纸名称");
- ws.GetRow(rowIndex + 15).GetCell(14).SetCellValue("Rev\r\n版本");
- ws.GetRow(rowIndex + 15).GetCell(15).SetCellValue("Sheet No.\r\n页码");
- ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注");
-
- #endregion
-
- #region 尾部
-
- //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。
- ws = ExcelCreateRow(ws, hssfworkbook, 49, rowIndex + 55, style, 0, 17, true);
- for (int i = 49; i <= 55; i++)
- {
- ws.GetRow(i).Height = 18 * 20;
- ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
- ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
- ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- }
-
- for (int i = 2; i < 17; i++)
- {
- ws.GetRow(rowIndex + 55).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
- }
- ws.GetRow(rowIndex + 55).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None);
- ws.GetRow(rowIndex + 55).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
- ws.GetRow(rowIndex + 55).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 2, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 5, 6));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 7, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 10, 13));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 14, 16));
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 2, 4));
- ws.GetRow(rowIndex + 53).GetCell(2).SetCellValue("PREPARED");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 5, 6));
- ws.GetRow(rowIndex + 53).GetCell(5).SetCellValue("REVIEW");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 7, 9));
- ws.GetRow(rowIndex + 53).GetCell(7).SetCellValue("JIANLI");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 10, 13));
- ws.GetRow(rowIndex + 53).GetCell(10).SetCellValue("Worley");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 14, 16));
- ws.GetRow(rowIndex + 53).GetCell(14).SetCellValue("BASF");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6));
- ws.GetRow(rowIndex + 54).GetCell(2).SetCellValue("CC7");
#endregion
ws.PrintSetup.FitWidth = 1;
ws.PrintSetup.FitHeight = 0;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
+ ws.PrintSetup.Scale = 85;
ws.FitToPage = true;
-
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////打印边距设置 厘米/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);
@@ -1368,210 +1538,366 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
int rowIndex = 0;
var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial Unicode MS");
- #region 头部
+ //查询数据
+ string sql = @"select * from (
+ select
+ a.PTP_ID,
+ a.TestPackageNo,
+ d.WorkAreaId,
+ d.WorkAreaCode,
+ c.PipelineId,
+ c.PipelineCode,
+ c.SystemNumber,
+ a.TestHeat,
+ a.TestType,
+ c.SingleNumber,
+ c.DrawingsNum,
+ a.Remark,
+ (select top 1 PageNum from Pipeline_WeldJoint where PipelineId=b.PipelineId order by WeldJointCode) as PageNum
+ from PTP_TestPackage as a
+ inner join
+ PTP_PipelineList as b on a.PTP_ID=b.PTP_ID
+ left join
+ Pipeline_Pipeline as c on b.PipelineId=c.PipelineId
+ left join Project_WorkArea as d on b.WorkAreaId=d.WorkAreaId
+ ) as t where PTP_ID=@PTP_ID ";
+ SqlParameter[] parms = new SqlParameter[]{
+ new SqlParameter("@PTP_ID",this.tvControlItem.SelectedNodeID)
+ };
+ var dt = SQLHelper.GetDataTableRunText(sql, parms);
+ //获取试压包第一行记录
- 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, 3 * 256);
- ws.SetColumnWidth(1, 3 * 256);
- ws.SetColumnWidth(2, 8 * 256);
- ws.SetColumnWidth(3, 5 * 256);
- ws.SetColumnWidth(4, 5 * 256);
- ws.SetColumnWidth(5, 8 * 256);
- ws.SetColumnWidth(6, 8 * 256);
- ws.SetColumnWidth(7, 4 * 256);
- ws.SetColumnWidth(8, 8 * 256);
- ws.SetColumnWidth(9, 8 * 256);
- ws.SetColumnWidth(10, 8 * 256);
- ws.SetColumnWidth(11, 8 * 256);
- ws.SetColumnWidth(12, 1 * 256);
- ws.SetColumnWidth(13, 9 * 256);
- ws.SetColumnWidth(14, 9 * 256);
- ws.SetColumnWidth(15, 10 * 256);
- ws.SetColumnWidth(16, 6 * 256);
- ws.SetColumnWidth(17, 6 * 256);
- //设置前3行高度
- ws.GetRow(0).Height = 15 * 20;
- ws.GetRow(1).Height = 15 * 20;
- ws.GetRow(2).Height = 14 * 20;
+ #region 分页数据
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 34 ? 1
+ : Math.Ceiling((float)(tbNum - 34) / 34) + 1;
- //设置3-15行的行高度
- for (int i = 3; i < 15; i++)
+ for (int i = 1; i <= pageNum; i++)
{
- ws.GetRow(i).Height = 18 * 20;
+ #region 头部
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 15, style, 0, 17, true);
+ ws.GetRow(rowIndex).GetCell(15).SetCellValue("Form No.");
+ ws.GetRow(rowIndex).GetCell(16).SetCellValue("TP-06");
+
+ #region 设置样式
+ //设置列宽度
+ ws.SetColumnWidth(0, 3 * 256);
+ ws.SetColumnWidth(1, 1 * 256);
+ ws.SetColumnWidth(2, 8 * 256);
+ ws.SetColumnWidth(3, 5 * 256);
+ ws.SetColumnWidth(4, 5 * 256);
+ ws.SetColumnWidth(5, 8 * 256);
+ ws.SetColumnWidth(6, 8 * 256);
+ ws.SetColumnWidth(7, 4 * 256);
+ ws.SetColumnWidth(8, 8 * 256);
+ ws.SetColumnWidth(9, 8 * 256);
+ ws.SetColumnWidth(10, 8 * 256);
+ ws.SetColumnWidth(11, 8 * 256);
+ ws.SetColumnWidth(12, 1 * 256);
+ ws.SetColumnWidth(13, 9 * 256);
+ ws.SetColumnWidth(14, 10 * 256);
+ ws.SetColumnWidth(15, 10 * 256);
+ ws.SetColumnWidth(16, 10 * 256);
+ ws.SetColumnWidth(17, 1 * 256);
+ //设置前3行高度
+ ws.GetRow(rowIndex + 0).Height = 15 * 20;
+ ws.GetRow(rowIndex + 1).Height = 4 * 20;
+ ws.GetRow(rowIndex + 2).Height = 14 * 20;
+ ws.GetRow(rowIndex + 3).Height = 18 * 20;
+ ws.GetRow(rowIndex + 4).Height = 18 * 20;
+ ws.GetRow(rowIndex + 5).Height = 18 * 20;
+ ws.GetRow(rowIndex + 6).Height = 18 * 20;
+ ws.GetRow(rowIndex + 7).Height = 18 * 20;
+ ws.GetRow(rowIndex + 8).Height = 18 * 20;
+ ws.GetRow(rowIndex + 9).Height = 18 * 20;
+ ws.GetRow(rowIndex + 10).Height = 18 * 20;
+ ws.GetRow(rowIndex + 11).Height = 18 * 20;
+ ws.GetRow(rowIndex + 12).Height = 18 * 20;
+ ws.GetRow(rowIndex + 13).Height = 18 * 20;
+ ws.GetRow(rowIndex + 14).Height = 18 * 20;
+
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 0, rowIndex + 0, 1, 1), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 17, 17), ws);
+
+ 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);
+ #endregion
+
+ #region 插入图片
+ InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8);
+ InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 10, 2, 30, 2);
+ InsertImage(hssfworkbook, ws, 3, 14, 4, 14, img3, 1.5, 2, 8, 2);
+ InsertImage(hssfworkbook, ws, 3, 15, 4, 15, img4, 3, 2, 35, 2);
+ #endregion
+
+ #region 试压包头部分
+
+ string TestPackageNo = string.Empty;
+ string WorkAreaCode = string.Empty;
+ string SystemNo = string.Empty;
+ string TestHeat = string.Empty;
+ string TestType = string.Empty;
+ if (dt.Rows.Count > 0)
+ {
+ TestPackageNo = dt.Rows[0]["TestPackageNo"].ToString();
+ WorkAreaCode = dt.Rows[0]["WorkAreaCode"].ToString();
+ SystemNo = dt.Rows[0]["SystemNumber"].ToString();
+ TestHeat = dt.Rows[0]["TestHeat"].ToString();
+ TestType = dt.Rows[0]["TestType"].ToString();
+ }
+ ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目");
+ var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
+ ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13));
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT");
+ ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13));
+ ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("试压包单线图清单");
+ ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13));
+ ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("TEST PACKAGE ISOMETRIC 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(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(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(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(TestHeat);
+ 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(TestType);
+ ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2;
+
+ ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式");
+ ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2;
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 9, rowIndex + 14, 8, 8), ws);
+ #endregion
+ #endregion
+
+ #region 表格部分
+ //数据表头部分
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13));
+ ws.GetRow(rowIndex + 15).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
+ ws.GetRow(rowIndex + 15).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.GetRow(rowIndex + 15).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 3, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 9, 13));
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 2, 16), ws);
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 2, 16), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 2, 2), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 8, 8), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 13, 13), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 14, 14), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 15, 15), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 16, 16), ws);
+ 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(9).SetCellValue("Line Number No\r\n管线号");
+ ws.GetRow(rowIndex + 15).GetCell(14).SetCellValue("Rev\r\n版本");
+ ws.GetRow(rowIndex + 15).GetCell(15).SetCellValue("Sheet No.\r\n页码");
+ ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注");
+ ws.GetRow(rowIndex + 15).Height = 40 * 20;
+
+ style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, false, false, "Arial Unicode MS");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 16, rowIndex + 50, style, 0, 17, true);
+
+ var dataTit = rowIndex + 16;
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (i == 1)
+ {
+ dStart = 0;
+ dEnd = 34;
+ }
+ else
+ {
+ dStart = i == 2 ? 34 : ((i - 2) * 34) + 34;
+ dEnd = ((i - 1) * 34) + 34;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int nextRow = 0;
+ int lastRow = 0;
+ int j = 0;
+ foreach (DataRow dr in pageTb.Rows)
+ {
+ int dataIndex = dataTit + j;
+ ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}");
+ ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["PipelineCode"].ToString());
+ ws.GetRow(dataIndex).GetCell(9).SetCellValue(dr["SingleNumber"].ToString());
+ ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["DrawingsNum"].ToString());
+ ws.GetRow(dataIndex).GetCell(15).SetCellValue(dr["PageNum"].ToString());
+ ws.GetRow(dataIndex).GetCell(16).SetCellValue(dr["Remark"].ToString());
+ ws.GetRow(dataIndex).Height = 14 * 20;
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 3, 8));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + dataIndex, rowIndex + dataIndex, 9, 13));
+ ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws);
+ nextRow = dataIndex;
+ j++;
+ }
+ //如果pageData不满足33行数据的情况下,将设置剩余行高
+ if (pageTb.Rows.Count < 34)
+ {
+ for (int k = 1; k <= 34 - pageTb.Rows.Count; k++)
+ {
+ int dataIndex = rowIndex + nextRow + k;
+ ws.GetRow(dataIndex).Height = 14 * 20;
+ ws.GetRow(dataIndex).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
+ ws.GetRow(dataIndex).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.GetRow(dataIndex).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
+ ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 3, 8));
+ ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 9, 13));
+ RegionUtil.SetBorderLeft(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 2, 2), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 8, 8), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 13, 13), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 14, 14), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 15, 15), ws);
+ RegionUtil.SetBorderRight(1, new CellRangeAddress(dataIndex, dataIndex, 16, 16), ws);
+ RegionUtil.SetBorderBottom(1, new CellRangeAddress(dataIndex, dataIndex, 2, 16), ws);
+ lastRow = nextRow + k;
+ }
+ }
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + lastRow, rowIndex + lastRow, 2, 16), ws);
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 50, rowIndex + 55, style, 0, 17, true);
+ ws.GetRow(rowIndex + 50).Height = 18 * 20;
+ ws.GetRow(rowIndex + 51).Height = 18 * 20;
+ ws.GetRow(rowIndex + 52).Height = 18 * 20;
+ ws.GetRow(rowIndex + 53).Height = 18 * 20;
+ ws.GetRow(rowIndex + 54).Height = 18 * 20;
+ ws.GetRow(rowIndex + 55).Height = 4 * 20;
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 55, 1, 1), ws);
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 55, 18, 18), ws);
+
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 54, 2, 2), ws);
+ RegionUtil.SetBorderLeft(2, new CellRangeAddress(rowIndex + 50, rowIndex + 54, 17, 17), ws);
+
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 52, rowIndex + 52, 2, 16), ws);
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 4, 4), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 6, 6), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 9, 9), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 50, rowIndex + 52, 13, 13), ws);
+
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 4, 4), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 4, 4), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 6, 6), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 9, 9), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 53, rowIndex + 53, 13, 13), ws);
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 53, rowIndex + 54, 2, 16), ws);
+
+ RegionUtil.SetBorderTop(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 6, 6), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 9, 9), ws);
+ RegionUtil.SetBorderRight(2, new CellRangeAddress(rowIndex + 54, rowIndex + 54, 13, 13), ws);
+
+ RegionUtil.SetBorderBottom(2, new CellRangeAddress(rowIndex + 55, rowIndex + 55, 1, 17), ws);
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 2, 4));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 5, 6));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 7, 9));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 10, 13));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 14, 16));
+
+ //合并单元格
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 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
+
+ rowIndex = rowIndex + 60;
}
-
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(0, 0, 1, 1), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 1, 17, 17), ws);
-
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 16, 16), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 17, 17), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(1, 1, 2, 16), ws);
- RegionUtil.SetBorderTop(2, new CellRangeAddress(2, 2, 2, 16), ws);
-
- RegionUtil.SetBorderRight(2, new CellRangeAddress(1, 14, 0, 0), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 1, 1), ws);
-
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 16, 16), ws);
- RegionUtil.SetBorderRight(2, new CellRangeAddress(2, 14, 17, 17), ws);
-
-
- RegionUtil.SetBorderLeft(2, new CellRangeAddress(9, 14, 2, 2), ws);
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(7, 7, 2, 16), ws);
- RegionUtil.SetBorderBottom(2, new CellRangeAddress(8, 8, 2, 16), ws);
- //插入图片
- InsertImage(hssfworkbook, ws, 3, 2, 4, 3, img1, 1.2, 1.8);
- InsertImage(hssfworkbook, ws, 3, 3, 4, 4, img2, 1.9, 1.9);
- InsertImage(hssfworkbook, ws, 3, 13, 4, 14, img3, 1.5, 1.5);
- InsertImage(hssfworkbook, ws, 3, 15, 4, 16, img4, 1.5, 1.5);
-
- ws.GetRow(rowIndex + 3).GetCell(5).SetCellValue("巴斯夫(广东)一体化项目");
- var setStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 14, true, true, "Arial Unicode MS");
- ws.GetRow(rowIndex + 3).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 5, 13));
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("BASF (GUANGDONG) INTEGRATED PROJECT");
- ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 13));
- ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("试压包单线图清单");
- ws.GetRow(rowIndex + 5).GetCell(5).CellStyle = setStyle;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 13));
- ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("TEST PACKAGE ISOMETRIC 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("UG-130-FW-HT-001");
- 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("C400");
-
- 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("FIRE WATER");
- 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("2");
- 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("Hydro Test");
- ws.GetRow(rowIndex + 13).GetCell(13).CellStyle = cellStyle2;
-
- ws.GetRow(rowIndex + 14).GetCell(9).SetCellValue("试验方式");
- ws.GetRow(rowIndex + 14).GetCell(9).CellStyle = cellStyle2;
-
- #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 = 22 * 20;
- ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None);
- ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 3, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 13));
- }
- ws.GetRow(15).Height = 30 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 5, 13));
- //数据表头部分
- ws.GetRow(rowIndex + 15).GetCell(2).SetCellValue("No\r\n序号");
- ws.GetRow(rowIndex + 15).GetCell(3).SetCellValue("Isometric Drawing No.\r\n单线图号");
- ws.GetRow(rowIndex + 15).GetCell(9).SetCellValue("Line Number No\r\n 管线号");
- ws.GetRow(rowIndex + 15).GetCell(14).SetCellValue("Rev\r\n版本");
- ws.GetRow(rowIndex + 15).GetCell(15).SetCellValue("Sheet No.\r\n页码");
- ws.GetRow(rowIndex + 15).GetCell(16).SetCellValue("Remark\r\n备注");
-
- #endregion
-
- #region 尾部
-
- //此处的尾部行数需要根据 得到的动态数据量 来计算,默认写死从50行开始。
- ws = ExcelCreateRow(ws, hssfworkbook, 49, rowIndex + 55, style, 0, 17, true);
- for (int i = 49; i <= 55; i++)
- {
- ws.GetRow(i).Height = 18 * 20;
- ws.GetRow(i).GetCell(0).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
- ws.GetRow(i).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.Medium);
- ws.GetRow(i).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium);
- }
-
- for (int i = 2; i < 17; i++)
- {
- ws.GetRow(rowIndex + 55).GetCell(i).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
- }
- ws.GetRow(rowIndex + 55).GetCell(1).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None);
- ws.GetRow(rowIndex + 55).GetCell(16).CellStyle = SetStyle(hssfworkbook, BorderStyle.Medium, BorderStyle.Medium, BorderStyle.None, BorderStyle.None);
- ws.GetRow(rowIndex + 55).GetCell(17).CellStyle = SetStyle(hssfworkbook, BorderStyle.None, BorderStyle.Medium, BorderStyle.None, BorderStyle.Medium);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 2, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 5, 6));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 7, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 10, 13));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 50, rowIndex + 52, 14, 16));
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 2, 4));
- ws.GetRow(rowIndex + 53).GetCell(2).SetCellValue("PREPARED");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 53, 5, 6));
- ws.GetRow(rowIndex + 53).GetCell(5).SetCellValue("REVIEW");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 7, 9));
- ws.GetRow(rowIndex + 53).GetCell(7).SetCellValue("JIANLI");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 10, 13));
- ws.GetRow(rowIndex + 53).GetCell(10).SetCellValue("Worley");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 53, rowIndex + 54, 14, 16));
- ws.GetRow(rowIndex + 53).GetCell(14).SetCellValue("BASF");
- //合并单元格
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 54, rowIndex + 54, 2, 6));
- ws.GetRow(rowIndex + 54).GetCell(2).SetCellValue("CC7");
#endregion
ws.PrintSetup.FitWidth = 1;
ws.PrintSetup.FitHeight = 0;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
+ ws.PrintSetup.Scale = 85;
ws.FitToPage = true;
-
//垂直水平居中
ws.VerticallyCenter = true;
ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
+ ////打印边距设置 厘米/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);
@@ -2792,556 +3118,347 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
}
- //21-管道焊接工作记录SHT 3503-J415
- private void template21_old(XSSFWorkbook hssfworkbook, XSSFSheet ws)
- {
- #region 头部
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "宋体");
- 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, 17 * 256);
- ws.SetColumnWidth(12, 12 * 256);
-
- ws.AddMergedRegion(new CellRangeAddress(0, 3, 0, 1));
- ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J415-1");
-
- ws.AddMergedRegion(new CellRangeAddress(0, 3, 2, 9));
- ws.GetRow(rowIndex).GetCell(2).SetCellValue("管道焊接工作记录\r\nPiping Welding 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("工程名称:巴斯夫(广东)一体化项目专用化学品二区");
- ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("Project Name:BASF (Guangdong) Integrated Project");
- ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue("单位工程名称:埋地消防系统");
- ws.GetRow(rowIndex + 3).GetCell(10).SetCellValue("Unit Name:FW");
-
-
-
-
- #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\nWeld No.");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 3, 3));
- ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("焊工代号\r\nWelder's Stamp No.");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 4, 4));
- ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("规格mm\r\nSpecification\r\nmm");
- 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\nWelding\r\nPosition");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 7, 8));
- ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("焊接方法\r\nWelding Process");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 9, 10));
- ws.GetRow(rowIndex + 4).GetCell(9).SetCellValue("焊材牌号\r\nWelding Material Designation");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 11, 11));
- ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue("实际预热温度℃\r\nActual Preheating Temperature ℃");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 12, 12));
- ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("焊接日期\r\nWelding Date");
-
- //这里创建行数据
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 23, style, 0, 12, true);
- for (int i = 6; i < 24; i++)
- {
- ws.GetRow(rowIndex + i).Height = 19 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 7, 8));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10));
- }
-
- #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 = 2 * 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.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);
- }
-
//21-管道焊接工作记录SHT 3503-J415
private void template21(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
- #region 头部
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 15, true, false, "宋体");
- var styleTwo = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 9.5, true, false, "宋体");
- var styleThree = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 9.5, true, false, "宋体");
- var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10.5, true, false, "宋体");
- int rowIndex = 0;
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 3, style, 0, 14, true);
-
- //设置列宽
- ws.SetColumnWidth(0, 18 * 256);
- ws.SetColumnWidth(1, 9 * 256);
- ws.SetColumnWidth(2, 6 * 256);
- ws.SetColumnWidth(3, 12 * 256);
- ws.SetColumnWidth(4, 18 * 256);
- ws.SetColumnWidth(5, 19 * 256);
- ws.SetColumnWidth(6, 13 * 256);
- ws.SetColumnWidth(7, 13 * 256);
- ws.SetColumnWidth(8, 14 * 256);
- ws.SetColumnWidth(9, 13 * 256);
- ws.SetColumnWidth(10, 13 * 256);
- ws.SetColumnWidth(11, 10 * 256);
- ws.SetColumnWidth(12, 16 * 256);
- ws.SetColumnWidth(13, 14 * 256);
- ws.SetColumnWidth(14, 19 * 256);
-
- ws.AddMergedRegion(new CellRangeAddress(0, 3, 0, 1));
- ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J415-1");
- ws.GetRow(rowIndex).GetCell(0).CellStyle = styleThree;
-
- ws.AddMergedRegion(new CellRangeAddress(0, 3, 2, 10));
- ws.GetRow(rowIndex).GetCell(2).SetCellValue("管道焊接工作记录\r\nPiping Welding Record");
-
- ws.AddMergedRegion(new CellRangeAddress(0, 0, 11, 14));
- ws.AddMergedRegion(new CellRangeAddress(1, 1, 11, 14));
- ws.AddMergedRegion(new CellRangeAddress(2, 2, 11, 14));
- ws.AddMergedRegion(new CellRangeAddress(3, 3, 11, 14));
-
- ws.GetRow(rowIndex).GetCell(11).SetCellValue("工程名称:巴斯夫(广东)一体化项目专用化学品二区");
- ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue("Project Name:BASF (Guangdong) Integrated Project");
- ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue("单位工程名称:埋地消防系统");
- ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue("Unit Name:FW");
- ws.GetRow(rowIndex).GetCell(11).CellStyle = ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = ws.GetRow(rowIndex + 2).GetCell(11).CellStyle = ws.GetRow(rowIndex + 3).GetCell(11).CellStyle = styleTwo;
-
- ws.GetRow(rowIndex).Height = ws.GetRow(rowIndex + 1).Height = ws.GetRow(rowIndex + 2).Height = ws.GetRow(rowIndex + 3).Height = 25 * 20;
- //画线
- RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex, rowIndex, 11, 14), ws);
- RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14), ws);
- RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14), ws);
- RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14), ws);
- RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14), ws);
- RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 3, rowIndex + 3, 11, 14), ws);
+ string sql = @" SELECT
+ WeldSilkId,
+ a.PipelineCode,
+ e.WorkAreaCode,
+ a.WeldJointCode,
+ a.Specification,
+ a.Material1Code,
+ a.WeldingMethodCode,
+ a.WeldingDate,
+ a.WeldSilkCode,
+ a.WeldMatCode,
+ a.BackingWelderCode,
+ a.CoverWelderCode,
+ a.ProjectName,
+ (select top 1 EnProjectName from Base_Project where ProjectId=b.ProjectId ) as EnProjectName,
+ (select top 1 WorkAreaName from Project_WorkArea where WorkAreaId=c.WorkAreaId) as WorkAreaName,
+ (select top 1 EnWorkAreaName from Project_WorkArea where WorkAreaId=c.WorkAreaId) as EnWorkAreaName,
+ a.IsHotProess,(case a.IsHotProess when 1 then '是' else '否' end) as IsHotProessName,PrepareTemp,
+ WeldingLocationCode,a.WeldTypeCode,
+ (SELECT TOP 1 n.NDEReportNo FROM dbo.Batch_NDEItem n WHERE n.TrustBatchItemId=
+ (SELECT TOP 1 bt.TrustBatchItemId FROM dbo.Batch_BatchTrustItem bt WHERE bt.WeldJointId=a.WeldJointId)) AS NDEReportNo
+ FROM PTP_TestPackage as b inner join
+ PTP_PipelineList as c on b.PTP_ID=c.PTP_ID
+ inner join View_Pipeline_WeldJoint as a on c.PipelineId=a.PipelineId
+ left join Project_WorkArea as e on e.WorkAreaId=c.WorkAreaId
+ WHERE Is_hjName='是' and b.PTP_ID=@PTPID and a.projectId=@projectId
+ ";
-
- #endregion
-
- #region 表格部分
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 4, rowIndex + 5, style4, 0, 14, true);
-
- ws.GetRow(rowIndex + 4).Height = 25 * 20;
- ws.GetRow(rowIndex + 5).Height = 25 * 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\nWeld No.");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 3, 3));
- ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("焊接形式\r\nWeld Type.");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 4, 4));
- ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("焊工代号\r\nWelder's Stamp No.");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 5, 5));
- ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("规格mm\r\nSpecification mm");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 6, 6));
- ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("材质\r\nMaterial");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 7, 7));
- ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("焊接位置\r\nWelding\r\nPosition");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 8, 9));
- ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("焊接方法\r\nWelding Process");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 10, 11));
- ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("焊材牌号\r\nWelding Material Designation");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 12, 12));
- ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("实际预热温度℃\r\nActual Preheating Temperature ℃");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 13, 13));
- ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("焊接日期\r\nWelding Date");
- ws.AddMergedRegion(new CellRangeAddress(4, 5, 14, 14));
- ws.GetRow(rowIndex + 4).GetCell(14).SetCellValue("无损检查报告\r\nNDE Report.");
-
- ws.GetRow(rowIndex + 4).GetCell(0).CellStyle = ws.GetRow(rowIndex + 4).GetCell(1).CellStyle
- = ws.GetRow(rowIndex + 4).GetCell(3).CellStyle = ws.GetRow(rowIndex + 4).GetCell(4).CellStyle
- = ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = ws.GetRow(rowIndex + 4).GetCell(6).CellStyle
- = ws.GetRow(rowIndex + 4).GetCell(7).CellStyle = ws.GetRow(rowIndex + 4).GetCell(8).CellStyle
- = ws.GetRow(rowIndex + 4).GetCell(10).CellStyle = ws.GetRow(rowIndex + 4).GetCell(12).CellStyle
- = ws.GetRow(rowIndex + 4).GetCell(13).CellStyle = ws.GetRow(rowIndex + 4).GetCell(14).CellStyle = styleThree;
-
- //这里创建行数据
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 23, style, 0, 14, true);
- for (int i = 6; i < 24; i++)
+ SqlParameter[] parms = {
+ new SqlParameter("@PTPID", this.tvControlItem.SelectedNodeID),
+ new SqlParameter("@projectId", this.CurrUser.LoginProjectId)
+ };
+ DataTable tb = SQLHelper.GetDataTableRunText(sql, parms);
+
+ if (tb.Rows.Count > 0)
{
- ws.GetRow(rowIndex + i).Height = 19 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 1, 2));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 8, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 10, 11));
+ int rowIndex = 0;
+
+ #region 列宽
+
+ ws.SetColumnWidth(0, 18 * 256);
+ ws.SetColumnWidth(1, 9 * 256);
+ ws.SetColumnWidth(2, 6 * 256);
+ ws.SetColumnWidth(3, 12 * 256);
+ ws.SetColumnWidth(4, 18 * 256);
+ ws.SetColumnWidth(5, 15 * 256);
+ ws.SetColumnWidth(6, 15 * 256);
+ ws.SetColumnWidth(7, 13 * 256);
+ ws.SetColumnWidth(8, 10 * 256);
+ ws.SetColumnWidth(9, 10 * 256);
+ ws.SetColumnWidth(10, 13 * 256);
+ ws.SetColumnWidth(11, 10 * 256);
+ ws.SetColumnWidth(12, 16 * 256);
+ ws.SetColumnWidth(13, 14 * 256);
+ ws.SetColumnWidth(14, 19 * 256);
+
+ #endregion
+
+ var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
+ var headerStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 9, true, false);
+
+ var tbNum = tb.Rows.Count;
+ var pageNum =
+ tbNum < 17 ? 1
+ : Math.Ceiling((float)(tbNum - 16) / 16) + 1;
+
+ string ProjectName = tb.Rows.Count > 0 ? tb.Rows[0]["ProjectName"].ToString() : "";
+ string EnProjectName = tb.Rows.Count > 0 ? tb.Rows[0]["EnProjectName"].ToString() : "";
+ string WorkAreaName = tb.Rows.Count > 0 ? tb.Rows[0]["WorkAreaName"].ToString() : "";
+ string EnWorkAreaName = tb.Rows.Count > 0 ? tb.Rows[0]["EnWorkAreaName"].ToString() : "";
+ //循环页
+ for (int i = 1; i <= pageNum; i++)
+ {
+ #region 头部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 5, style, 0, 14, true);
+ //行0
+ CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex + 3, 0, 2);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J415-1");
+ ws.GetRow(rowIndex).GetCell(0).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10,true, true);
+ region = new CellRangeAddress(rowIndex, rowIndex + 3, 3, 10);
+ ws.AddMergedRegion(region);
+ string titleStr = i == 1 ? "管道焊接工作记录\r\nPiping Welding Record" : "管道焊接工作记录(续)\r\nPiping Welding Record";
+ ws.GetRow(rowIndex).GetCell(3).SetCellValue(titleStr);
+ ws.GetRow(rowIndex).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 15, true, true);
+ region = new CellRangeAddress(rowIndex, rowIndex, 11, 14);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex).GetCell(11).SetCellValue($"工程名称:{ProjectName}");
+ ws.GetRow(rowIndex).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9.5, true, false);
+
+ //行1
+ region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue($"Project Name:{EnProjectName}");
+ ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9.5, true, false);
+
+ ws.GetRow(rowIndex + 1).Height = 25 * 20;
+ ws.GetRow(rowIndex + 2).Height = 25 * 20;
+ ws.GetRow(rowIndex + 3).Height = 25 * 20;
+ ws.GetRow(rowIndex + 4).Height = 25 * 20;
+ //行2
+ region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue($"单位工程名称:{WorkAreaName}");
+ ws.GetRow(rowIndex + 2).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false);
+
+ //行3
+ region = new CellRangeAddress(rowIndex + 3, rowIndex + 3, 11, 14);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 3).GetCell(11).SetCellValue($"Unit Name:{EnWorkAreaName}");
+ ws.GetRow(rowIndex + 3).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false);
+
+ //画线
+ RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex, rowIndex, 11, 14), ws);
+ RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14), ws);
+ RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14), ws);
+ RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14), ws);
+ RegionUtil.SetBorderBottom(0, new CellRangeAddress(rowIndex + 2, rowIndex + 2, 11, 14), ws);
+ RegionUtil.SetBorderTop(0, new CellRangeAddress(rowIndex + 3, rowIndex + 3, 11, 14), ws);
+
+ //行4行5
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 0, 0);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("管道编号/单线号\r\nPiping No./Line No");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 1, 2);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("焊口编号\r\nWeld No.");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 3, 3);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(3).SetCellValue("焊接形式\r\nWeld Type.");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 4, 4);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("焊工代号\r\nWelder's Stamp No.");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 5, 5);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(5).SetCellValue("规格mm\r\nSpecification\r\nmm");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 6, 6);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("材质\r\nMaterial");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 7, 7);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("焊接位置\r\nWelding\r\nPosition");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 8, 9);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("焊接方法\r\nWelding Process");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 10, 11);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("焊材牌号\r\nWelding Material Designation");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 12, 12);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue("实际预热温度℃\r\nActual Preheating Temperature ℃");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 13, 13);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(13).SetCellValue("焊接日期\r\nWelding Date");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 5, 14, 14);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(14).SetCellValue("无损检查报告\r\nNDE Report.");
+
+ ws.GetRow(rowIndex + 4).GetCell(0).CellStyle = ws.GetRow(rowIndex + 4).GetCell(1).CellStyle
+ = ws.GetRow(rowIndex + 4).GetCell(3).CellStyle = ws.GetRow(rowIndex + 4).GetCell(4).CellStyle
+ = ws.GetRow(rowIndex + 4).GetCell(5).CellStyle = ws.GetRow(rowIndex + 4).GetCell(6).CellStyle
+ = ws.GetRow(rowIndex + 4).GetCell(7).CellStyle = ws.GetRow(rowIndex + 4).GetCell(8).CellStyle
+ = ws.GetRow(rowIndex + 4).GetCell(10).CellStyle = ws.GetRow(rowIndex + 4).GetCell(12).CellStyle
+ = ws.GetRow(rowIndex + 4).GetCell(13).CellStyle = ws.GetRow(rowIndex + 4).GetCell(14).CellStyle
+ = headerStyle;
+
+ ws.GetRow(rowIndex + 4).Height = 25 * 20;
+ ws.GetRow(rowIndex + 5).Height = 25 * 20;
+ #endregion
+
+ #region 表格
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 21, style, 0, 14);
+ var dataTit = rowIndex + 6;
+ var tIndex = 5 + 16;
+ var dStart = 0;
+ var dEnd = 0;
+ if (i == 1)
+ {
+ dStart = 0;
+ dEnd = 16;
+ }
+ else
+ {
+ dStart = i == 2 ? 16 : ((i - 2) * 16) + 16;
+ dEnd = ((i - 1) * 16) + 16;
+ }
+
+ //合并单元格
+ for (int hb = dataTit; hb <= rowIndex + tIndex; hb++)
+ {
+ region = new CellRangeAddress(hb, hb, 1, 2);
+ ws.AddMergedRegion(region);
+ region = new CellRangeAddress(hb, hb, 8, 9);
+ ws.AddMergedRegion(region);
+ region = new CellRangeAddress(hb, hb, 10, 11);
+ ws.AddMergedRegion(region);
+ }
+
+ //获取当前页数据
+ var pageTb = GetPageToTable(tb, dStart, dEnd);
+ int j = 0;
+ foreach (DataRow dr in pageTb.Rows)
+ {
+ int dataIndex = dataTit + j;
+ //管道编号/单线号
+ ws.GetRow(dataIndex).GetCell(0).SetCellValue(dr["PipelineCode"].ToString());
+ //焊口编号
+ ws.GetRow(dataIndex).GetCell(1).SetCellValue(dr["WeldJointCode"].ToString());
+ //焊接形式
+ ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["WeldTypeCode"].ToString());
+ //焊工代号
+ List welderStr = new List();
+ if (!string.IsNullOrWhiteSpace(dr["BackingWelderCode"].ToString()))
+ {
+ welderStr.Add(dr["BackingWelderCode"].ToString());
+ }
+ if (!string.IsNullOrWhiteSpace(dr["CoverWelderCode"].ToString()))
+ {
+ welderStr.Add(dr["CoverWelderCode"].ToString());
+ }
+ if (welderStr.Count > 0) welderStr = welderStr.GroupBy(x => x).Select(x => x.Key).ToList();
+ ws.GetRow(dataIndex).GetCell(4).SetCellValue(string.Join("/", welderStr));
+ //规格mm
+ ws.GetRow(dataIndex).GetCell(5).SetCellValue(dr["Specification"].ToString());
+ //材质
+ ws.GetRow(dataIndex).GetCell(6).SetCellValue(dr["Material1Code"].ToString());
+ //焊接位置
+ ws.GetRow(dataIndex).GetCell(7).SetCellValue(dr["WeldingLocationCode"].ToString());
+ //焊接方法
+ ws.GetRow(dataIndex).GetCell(8).SetCellValue(dr["WeldingMethodCode"].ToString());
+ //焊材牌号
+ List silkMats = new List();
+ if (!string.IsNullOrWhiteSpace(dr["WeldSilkCode"].ToString()))
+ {
+ silkMats.Add(dr["WeldSilkCode"].ToString());
+ }
+ if (!string.IsNullOrWhiteSpace(dr["WeldMatCode"].ToString()))
+ {
+ silkMats.Add(dr["WeldMatCode"].ToString());
+ }
+ if (silkMats.Count > 0) silkMats = silkMats.GroupBy(x => x).Select(x => x.Key).ToList();
+ ws.GetRow(dataIndex).GetCell(10).SetCellValue(string.Join("/", silkMats));
+ //实际预热温度
+ ws.GetRow(dataIndex).GetCell(12).SetCellValue(dr["PrepareTemp"].ToString());
+ //焊接日期
+ ws.GetRow(dataIndex).GetCell(13).SetCellValue(dr["WeldingDate"].ToString());
+ //无损检查报告
+ ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["NDEReportNo"].ToString());
+ j++;
+ ws.GetRow(dataIndex).Height = 20 * 20;
+ }
+
+
+ for (int k = rowIndex + 6; k <= rowIndex + 21; k++)
+ {
+ ws.GetRow(k).Height = 20 * 20;
+ }
+ rowIndex += tIndex;
+
+
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 7, style, 0, 14, false);
+
+ //合并单元格
+ for (int hb = rowIndex + 1; hb <= rowIndex + 7; hb++)
+ {
+ for (int c = 0; c <= 14; c++)
+ {
+ if (hb >= rowIndex + 1 && hb <= rowIndex + 6)
+ {
+ ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Left, 10, true, false);
+ }
+ if (hb == rowIndex + 7)
+ {
+ ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Left, 10, true, false);
+ }
+ }
+ region = new CellRangeAddress(hb, hb, 0, 3);
+ ws.AddMergedRegion(region);
+ region = new CellRangeAddress(hb, hb, 4, 9);
+ ws.AddMergedRegion(region);
+ region = new CellRangeAddress(hb, hb, 10, 14);
+ ws.AddMergedRegion(region);
+ }
+
+ //行1
+ ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("建设/监理单位");
+ ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor");
+ ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("施工单位\r\nConstruction Contractor");
+ //行2
+ ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:");
+ ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:");
+ ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue("记录人 :\r\nRecord Prepared by:");
+ //行3
+ ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("质量检查员:\r\nQuality Inspector:");
+ //行5
+ ws.GetRow(rowIndex + 6).GetCell(10).SetCellValue("焊接责任工程师:\r\nWelding Engineer:");
+ //行6
+ ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("日期Date: 年 月 日");
+ ws.GetRow(rowIndex + 7).GetCell(4).SetCellValue("日期Date: 年 月 日");
+ ws.GetRow(rowIndex + 7).GetCell(10).SetCellValue("日期Date: 年 月 日");
+
+ #endregion
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 9, style, 0, 14, false);
+ rowIndex += 10;
+ ws.SetRowBreak(rowIndex - 1);
+ }
+
+ 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);
}
-
- #endregion
-
- #region 尾部
- style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, true, false);
- var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false);
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 24, rowIndex + 30, style, 0, 14, true);
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 4));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 5, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 10, 14));
- ws.GetRow(rowIndex + 24).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor");
- ws.GetRow(rowIndex + 24).GetCell(0).CellStyle = style1;
- ws.GetRow(rowIndex + 24).GetCell(5).SetCellValue("总承包单位\r\nGeneral Contractor");
- ws.GetRow(rowIndex + 24).GetCell(5).CellStyle = style1;
- ws.GetRow(rowIndex + 24).GetCell(10).SetCellValue("施工单位\r\nConstruction Contractor");
- ws.GetRow(rowIndex + 24).GetCell(10).CellStyle = style1;
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 14), ws);
-
- 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.GetRow(rowIndex + 27).Height = 31 * 20;
- ws.GetRow(rowIndex + 29).Height = 31 * 20;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 5, 6));
- ws.GetRow(rowIndex + 25).GetCell(5).SetCellValue("专业工程师\r\nDiscipline Engineer:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 10, 14));
- ws.GetRow(rowIndex + 25).GetCell(10).SetCellValue("记录人 :\r\nRecord Prepared by:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 27, rowIndex + 27, 10, 14));
- ws.GetRow(rowIndex + 27).GetCell(10).SetCellValue("质量检查员:\r\nQuality Inspector:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 29, rowIndex + 29, 10, 14));
- ws.GetRow(rowIndex + 29).GetCell(10).SetCellValue("焊接责任工程师:\r\nWelding Engineer:");
-
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 0, 4));
- ws.GetRow(rowIndex + 30).GetCell(0).SetCellValue("日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 5, 9));
- ws.GetRow(rowIndex + 30).GetCell(5).SetCellValue("日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 30, 10, 14));
- ws.GetRow(rowIndex + 30).GetCell(10).SetCellValue("日期Date: 年 月 日");
-
- RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 14), ws);
- RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 0, 0), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 14, 14), ws);
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 30, rowIndex + 30, 0, 14), ws);
-
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 4, 4), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 24, rowIndex + 30, 9, 9), ws);
-
- ws.GetRow(rowIndex + 26).Height = ws.GetRow(rowIndex + 28).Height = 5 * 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.VerticallyCenter = true;
- ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
-
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
}
- //22-射线检测比例确认表SHT 3503-J412-2007
- private void template22_old(XSSFWorkbook hssfworkbook, XSSFSheet ws)
- {
- #region 头部
- var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, false, "宋体");
- int rowIndex = 0;
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 4, style, 0, 20, true);
-
- //设置列宽
- ws.SetColumnWidth(0, 11 * 256);
- ws.SetColumnWidth(1, 5 * 256);
- ws.SetColumnWidth(2, 8 * 256);
- ws.SetColumnWidth(3, 5 * 256);
- ws.SetColumnWidth(4, 5 * 256);
- ws.SetColumnWidth(5, 6 * 256);
- ws.SetColumnWidth(6, 6 * 256);
- ws.SetColumnWidth(7, 6 * 256);
- ws.SetColumnWidth(8, 6 * 256);
- ws.SetColumnWidth(9, 6 * 256);
- ws.SetColumnWidth(10, 6 * 256);
- ws.SetColumnWidth(11, 6 * 256);
- ws.SetColumnWidth(12, 21 * 256);
-
- ws.AddMergedRegion(new CellRangeAddress(0, 3, 0, 2));
- ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J412-1-2007");
-
- ws.AddMergedRegion(new CellRangeAddress(0, 0, 3, 17));
- ws.GetRow(rowIndex).GetCell(3).SetCellValue("管道焊接接头射线检测比例确认表(一)");
- ws.GetRow(rowIndex).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true);
- ws.AddMergedRegion(new CellRangeAddress(1, 2, 3, 17));
- ws.GetRow(rowIndex + 1).GetCell(3).SetCellValue("Pipeline Welding Joints Radiographic Examination Rate Confirmation Form(I)");
- ws.GetRow(rowIndex + 1).GetCell(3).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 16, true, true);
-
- ws.AddMergedRegion(new CellRangeAddress(0, 3, 18, 20));
- ws.AddMergedRegion(new CellRangeAddress(3, 3, 3, 17));
-
- ws.GetRow(rowIndex).GetCell(18).SetCellValue("工程名称:巴斯夫(广东)一体化项目专用化学品二区\nProject Name:BASF (Guangdong) Integrated Project\n单元名称:Citral\nUnit Name:Citral");
- ws.GetRow(rowIndex).GetCell(18).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, true, false);
-
- ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("共 1 页 第 1 页");
-
- ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("执行标准\r\nApplicable code");
-
- ws.AddMergedRegion(new CellRangeAddress(4, 4, 1, 5));
- ws.AddMergedRegion(new CellRangeAddress(4, 4, 6, 7));
- ws.AddMergedRegion(new CellRangeAddress(4, 4, 8, 15));
- ws.AddMergedRegion(new CellRangeAddress(4, 4, 16, 17));
- ws.AddMergedRegion(new CellRangeAddress(4, 4, 18, 20));
- ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue("NB/T47013.2-2015");
- ws.GetRow(rowIndex + 4).GetCell(6).SetCellValue("检测方法\r\nExam. Method");
- ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("射线检测\r\nRT");
- ws.GetRow(rowIndex + 4).GetCell(16).SetCellValue("检测比例\r\nExam. Rate");
- ws.GetRow(rowIndex + 4).GetCell(18).SetCellValue("5%");
-
- #endregion
-
- #region 表格部分
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 5, rowIndex + 6, style, 0, 20, true);
-
- ws.GetRow(rowIndex + 5).Height = 28 * 20;
- ws.GetRow(rowIndex + 6).Height = 42 * 20;
-
- //设置表头部分
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 0, 1));
- ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("管道编号\r\nPipeline No.");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 6, 2, 2));
- ws.GetRow(rowIndex + 5).GetCell(2).SetCellValue("材质\r\nMaterial");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 3, 4));
- ws.GetRow(rowIndex + 5).GetCell(3).SetCellValue("规 格/Size");
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 3, 4));
- ws.GetRow(rowIndex + 6).GetCell(3).SetCellValue("mm");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 5, 8));
- ws.GetRow(rowIndex + 5).GetCell(5).SetCellValue("管道焊接接头\r\nWelding Joints");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 9, 12));
- ws.GetRow(rowIndex + 5).GetCell(9).SetCellValue("施焊焊工\r\nWelder");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 13, 16));
- ws.GetRow(rowIndex + 5).GetCell(13).SetCellValue("检测焊接接头\r\nExanined Joints");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 17, 19));
- ws.GetRow(rowIndex + 5).GetCell(17).SetCellValue("实际检测比例");
-
- ws.GetRow(rowIndex + 5).GetCell(20).SetCellValue("检测报告编号");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 5, 6));
- ws.GetRow(rowIndex + 6).GetCell(5).SetCellValue("总数\r\nTotal");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 7, 8));
- ws.GetRow(rowIndex + 6).GetCell(7).SetCellValue("固定口数\r\nField Joints");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 9, 10));
- ws.GetRow(rowIndex + 6).GetCell(9).SetCellValue("焊工代号\r\nWelder No.");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 11, 12));
- ws.GetRow(rowIndex + 6).GetCell(11).SetCellValue("施焊数量\r\nWelded Joints");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 13, 14));
- ws.GetRow(rowIndex + 6).GetCell(13).SetCellValue("总数\r\nTotal Joints");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 15, 16));
- ws.GetRow(rowIndex + 6).GetCell(15).SetCellValue("固定口数\r\nField Joints");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 17, 19));
- ws.GetRow(rowIndex + 6).GetCell(17).SetCellValue("Actual exam. Rate");
-
- ws.GetRow(rowIndex + 6).GetCell(20).SetCellValue("Examination Report No.");
-
- //这里创建行数据
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + 16, style, 0, 20, true);
- for (int i = 7; i < 15; i++)
- {
- ws.GetRow(rowIndex + i).Height = 25 * 20;
- }
- //这里循环数据
- ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("小计\r\nTotal");
-
- #endregion
-
- #region 尾部
-
- ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("备注\r\nRemark");
- ws.GetRow(rowIndex + 16).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\r\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints.");
- ws.GetRow(rowIndex + 16).GetCell(1).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false);
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 1, 20));
-
-
- style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 11, true, false);
- var style1 = 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 + 17, rowIndex + 24, style, 0, 20, true);
-
- ws.GetRow(rowIndex + 17).GetCell(20).CellStyle = style1;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 0, 3));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 4, 9));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 10, 16));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 17, 20));
-
- ws.GetRow(rowIndex + 17).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor");
- ws.GetRow(rowIndex + 17).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor");
- ws.GetRow(rowIndex + 17).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor");
- ws.GetRow(rowIndex + 17).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company");
- ws.GetRow(rowIndex + 17).GetCell(0).CellStyle = ws.GetRow(rowIndex + 17).GetCell(4).CellStyle = ws.GetRow(rowIndex + 17).GetCell(10).CellStyle = ws.GetRow(rowIndex + 17).GetCell(17).CellStyle = style1;
- ws.GetRow(rowIndex + 17).Height = 31 * 20;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 3));
- ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:");
- ws.GetRow(rowIndex + 18).Height = 31 * 20;
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 4, 9));
- ws.GetRow(rowIndex + 18).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 10, 16));
- ws.GetRow(rowIndex + 18).GetCell(10).SetCellValue("专业工程师\r\nDiscipline Engineer:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 17, 20));
- ws.GetRow(rowIndex + 18).GetCell(17).SetCellValue("专业工程师\r\nDiscipline Engineer:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 17, 20));
- ws.GetRow(rowIndex + 20).GetCell(17).SetCellValue("质量检查员:\r\nQuality Inspector:");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 17, 20));
- ws.GetRow(rowIndex + 20).GetCell(17).SetCellValue("制表:\r\nPrepared:");
-
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 3));
- ws.GetRow(rowIndex + 24).GetCell(0).SetCellValue("日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 4, 9));
- ws.GetRow(rowIndex + 24).GetCell(4).SetCellValue("日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 10, 16));
- ws.GetRow(rowIndex + 24).GetCell(10).SetCellValue("日期Date: 年 月 日");
-
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 24, rowIndex + 24, 17, 20));
- ws.GetRow(rowIndex + 24).GetCell(17).SetCellValue("日期Date: 年 月 日");
- ws.GetRow(rowIndex + 19).Height = ws.GetRow(rowIndex + 21).Height = ws.GetRow(rowIndex + 22).Height = ws.GetRow(rowIndex + 23).Height = 2 * 20;
-
-
- RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 20), ws);
- RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 18, rowIndex + 24, 0, 0), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 24, 20, 20), ws);
- RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 24, rowIndex + 24, 0, 20), ws);
-
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 24, 3, 3), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 24, 9, 9), ws);
- RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 24, 16, 16), ws);
-
- #endregion
-
- ws.PrintSetup.FitWidth = 1;
- ws.PrintSetup.FitHeight = 0;
- ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
-
- ws.FitToPage = true;
-
- //横向打印
- ws.PrintSetup.Landscape = true;
- //垂直水平居中
- ws.VerticallyCenter = true;
- ws.HorizontallyCenter = true;
- //打印边距设置 厘米/3
- ws.SetMargin(MarginType.RightMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.LeftMargin, (double)2.4 / 3);
- ws.SetMargin(MarginType.TopMargin, (double)2.9 / 3);
- ws.SetMargin(MarginType.BottomMargin, (double)2.4 / 3);
-
- //页眉页脚间距
- ws.SetMargin(MarginType.HeaderMargin, 0);
- ws.SetMargin(MarginType.FooterMargin, 0);
- }
-
+
//22-射线检测比例确认表SHT 3503-J412-2007
private void template22(XSSFWorkbook hssfworkbook, XSSFSheet ws)
{
@@ -5308,138 +5425,217 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
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 头部
+ string sql = @"select
+ a.PTP_ID,
+ a.TestPackageNo,
+ a.OperationMedium,
+ a.PurgingMedium,
+ a.CleaningMedium,
+ '' as SubSystemName,
+ '' as SubSystemNo,
+ b.PipelineId,
+ (select PipelineCode from Pipeline_Pipeline where PipelineId=b.PipelineId) as PipelineCode,
+ (select d.MaterialCode from Pipeline_Pipeline as c inner join Base_Material as d on c.MainMaterialId=d.MaterialId
+ where PipelineId=b.PipelineId ) as MaterialCode,
+ e.ProjectName,
+ e.EnProjectName,
+ (select UnitName from Base_Unit where UnitId=a.UnitId) as UnitName,
+ (select UnitCode from Base_Unit where UnitId=a.UnitId) as UnitCode
+ from PTP_TestPackage as a inner join
+ PTP_PipelineList as b on a.PTP_ID=b.PTP_ID
+ left join Base_Project as e on a.ProjectId=e.ProjectId
+ where a.PTP_ID=@PTP_ID and a.projectId=@projectId
+ ";
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 7, style, 0, 6, true);
- //设置头部行高
- ws.GetRow(rowIndex).Height = 20 * 20 * 5;
- ws.GetRow(rowIndex + 1).Height = 20 * 20;
- ws.GetRow(rowIndex + 2).Height = 20 * 20;
- ws.GetRow(rowIndex + 3).Height = 20 * 20 * 2;
- ws.GetRow(rowIndex + 4).Height = 20 * 20;
- ws.GetRow(rowIndex + 5).Height = 20 * 20 * 2;
- ws.GetRow(rowIndex + 6).Height = 20 * 20;
- ws.GetRow(rowIndex + 7).Height = 20 * 20 * 2;
- //设置列宽
- ws.SetColumnWidth(0, 24 * 256);
- ws.SetColumnWidth(1, 9 * 256);
- ws.SetColumnWidth(2, 14 * 256);
- ws.SetColumnWidth(3, 19 * 256);
- ws.SetColumnWidth(4, 14 * 256);
- ws.SetColumnWidth(5, 5 * 256);
- ws.SetColumnWidth(6, 9 * 256);
-
- //合并单元格和填充单元格值
- for (int i = 0; i < 3; i++)
+ SqlParameter[] parmas =
{
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 2, 3));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 4, 6));
- }
+ new SqlParameter("@projectId",this.CurrUser.LoginProjectId),
+ new SqlParameter("@PTP_ID",tvControlItem.SelectedNodeID)
+ };
+ DataTable dt = SQLHelper.GetDataTableRunText(sql, parmas);
+ var tbNum = dt.Rows.Count;
+ var pageNum = tbNum < 16 ? 1
+ : Math.Ceiling((float)(tbNum - 16) / 16) + 1;
- ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J408");
- 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).GetCell(2).CellStyle = style1;
- ws.GetRow(rowIndex).GetCell(2).SetCellValue("管道吹扫/清洗检验记录(I)\nPipline Flushing and Blowing Inspection Record(I)");
-
- 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");
- style2.WrapText = true;
- ws.GetRow(rowIndex).GetCell(4).CellStyle = style2;
- ws.GetRow(rowIndex).GetCell(4).SetCellValue(" 项目名称:巴斯夫(广东)一体化项目\n Project Name:BASF (Guangdong) Integrated Project\n\n\n\n 单位名称:Citral\n Unit Name:Citral");
-
- ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("子系统名称 Subsystem Name");
- ws.GetRow(rowIndex + 1).GetCell(2).SetCellValue("子系统编号 Subsystem No.");
- ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("试压包号 Test Package No.");
-
- ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("Fire Water");
- ws.GetRow(rowIndex + 2).GetCell(2).SetCellValue("UG-FW");
- ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("UG-130-FW-HT-001");
-
- for (int i = 3; i < 8; i++)
+ string projectName = dt.Rows.Count > 0 ? dt.Rows[0]["ProjectName"].ToString() : "";
+ string enprojectName = dt.Rows.Count > 0 ? dt.Rows[0]["EnProjectName"].ToString() : "";
+ string unitName = dt.Rows.Count > 0 ? dt.Rows[0]["UnitName"].ToString() : "";
+ string unitCode = dt.Rows.Count > 0 ? dt.Rows[0]["unitCode"].ToString() : "";
+ string subSystemName= dt.Rows.Count > 0 ? dt.Rows[0]["SubSystemName"].ToString() : "";
+ string subSystemNo= dt.Rows.Count > 0 ? dt.Rows[0]["SubSystemNo"].ToString() : "";
+ string testPackNo= dt.Rows.Count > 0 ? dt.Rows[0]["TestPackageNo"].ToString() : "";
+ for (int i =1; i <= pageNum; i++)
{
- if (i == 3 || i == 5 || i == 7)
- ws.GetRow(rowIndex + i).Height = 20 * 20 * 2;
+ #region 头部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 9, style, 0, 6, true);
+ //设置头部行高
+ ws.GetRow(rowIndex).Height = 13 * 20;
+ ws.GetRow(rowIndex + 1).Height = 22 * 20;
+ ws.GetRow(rowIndex + 2).Height = 56 * 20;
+ ws.GetRow(rowIndex + 3).Height = 12 * 20;
+ ws.GetRow(rowIndex + 4).Height = 12 * 20;
+ ws.GetRow(rowIndex + 5).Height = 27 * 20;
+ ws.GetRow(rowIndex + 6).Height = 26 * 20;
+ ws.GetRow(rowIndex + 7).Height = 36 * 20;
+ ws.GetRow(rowIndex + 8).Height = 26 * 20;
+ ws.GetRow(rowIndex + 9).Height = 26 * 20;
+ //设置列宽
+ ws.SetColumnWidth(0, 19 * 256);
+ ws.SetColumnWidth(1, 9 * 256);
+ ws.SetColumnWidth(2, 16 * 256);
+ ws.SetColumnWidth(3, 15 * 256);
+ ws.SetColumnWidth(4, 11 * 256);
+ ws.SetColumnWidth(5, 5 * 256);
+ ws.SetColumnWidth(6, 9 * 256);
+
+ //合并单元格和填充单元格值
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 0, rowIndex + 2, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 0, rowIndex + 2, 2, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 0, rowIndex + 2, 4, 6));
+
+ ws.GetRow(rowIndex).GetCell(0).SetCellValue("SH/T 3503-J408");
+
+ var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 11, true, true, "Arial");
+ style1.WrapText = true;
+ ws.GetRow(rowIndex).GetCell(2).CellStyle = style1;
+ ws.GetRow(rowIndex).GetCell(2).SetCellValue("管道吹扫/清洗检验记录(I)\nPipline Flushing and Blowing Inspection Record(I)");
+
+ var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 10, true, false, "Arial");
+ style2.WrapText = true;
+ ws.GetRow(rowIndex).GetCell(4).CellStyle = style2;
+ ws.GetRow(rowIndex).GetCell(4).SetCellValue($"项目名称:{projectName}\nProject Name:{enprojectName}\n单位名称:{unitName}\n Unit Name:{unitCode}");
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 2, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 3, rowIndex + 3, 4, 6));
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 2, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 4, rowIndex + 4, 4, 6));
+
+ ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("子系统名称 Subsystem Name");
+ ws.GetRow(rowIndex + 3).GetCell(2).SetCellValue("子系统编号 Subsystem No.");
+ ws.GetRow(rowIndex + 3).GetCell(4).SetCellValue("试压包号 Test Package No.");
+
+ ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue(subSystemName);
+ ws.GetRow(rowIndex + 4).GetCell(2).SetCellValue(subSystemNo);
+ ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue(testPackNo);
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 5, rowIndex + 5, 0, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 6, rowIndex + 6, 0, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 7, rowIndex + 7, 0, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 8, rowIndex + 8, 0, 5));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 9, rowIndex + 9, 0, 5));
+
+ ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("检查项目及要求\nInspection items and requirements");
+ ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("检查结果\nResult");
+
+
+ var style3 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, NPOI.SS.UserModel.HorizontalAlignment.Left, 9, true, false, "Arial");
+ ws.GetRow(rowIndex + 6).GetCell(0).CellStyle = style3;
+ ws.GetRow(rowIndex + 6).GetCell(0).SetCellValue("管线压力试验检查合格。Pipeline pressure test is acceptable.");
+
+ ws.GetRow(rowIndex + 7).GetCell(0).CellStyle = style3;
+ ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("与吹扫及清洗无关的安全附件和仪表元件已经拆除或按要求隔离。Safety attachments and instruments not involved in purging and cleaning have been dismantled or isolated as per requirement.");
+
+ ws.GetRow(rowIndex + 8).GetCell(0).CellStyle = style3;
+ ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("管线系统内阀门已按要求开启。All piping system valves have been opened.");
+
+ ws.GetRow(rowIndex + 9).GetCell(0).CellStyle = style3;
+ ws.GetRow(rowIndex + 9).GetCell(0).SetCellValue("不锈钢管线系统清洗用水应符合规范要求。Test use water of stainless steel pipeline shall be in compliance with specification.");
+
+ #endregion
+
+ #region 表格部分
+
+ var style4 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10, true, false, "Arial");
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 10, rowIndex + 26, style4, 0, 6, true);
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 10, rowIndex + 10, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 10, rowIndex + 10, 5, 6));
+ ws.GetRow(rowIndex + 10).GetCell(0).SetCellValue("管道编号\nPipeline No.");
+ ws.GetRow(rowIndex + 10).GetCell(2).SetCellValue("管线材质\nMaterial");
+ ws.GetRow(rowIndex + 10).GetCell(3).SetCellValue("操作介质\nOperation Medium");
+ ws.GetRow(rowIndex + 10).GetCell(4).SetCellValue("吹扫介质\nBlowing Meadium");
+ ws.GetRow(rowIndex + 10).GetCell(5).SetCellValue("清洗介质\nFlushing Medium");
+ var dataTit = rowIndex + 11;
+
+ var dStart = 0;
+ var dEnd = 0;
+ if (i == 1)
+ {
+ dStart = 0;
+ dEnd = 15;
+ }
else
- ws.GetRow(rowIndex + i).Height = 20 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 5));
+ {
+ dStart = i == 2 ? 15 : ((i - 2) * 15) + 15;
+ dEnd = ((i - 1) * 15) + 15;
+ }
+ var pageTb = GetPageToTable(dt, dStart, dEnd);
+ int j = 0;
+ for (int k = rowIndex + 11; k <= rowIndex + 26; k++)
+ {
+ ws.GetRow(k).Height = 20 * 20;
+ ws.AddMergedRegion(new CellRangeAddress(k, k, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(k, k, 5, 6));
+ }
+ foreach (DataRow dr in pageTb.Rows)
+ {
+ int dataIndex = dataTit + j;
+ ws.GetRow(dataIndex).GetCell(0).SetCellValue(dr["PipelineCode"].ToString());
+ ws.GetRow(dataIndex).GetCell(2).SetCellValue(dr["MaterialCode"].ToString());
+ ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["OperationMedium"].ToString());
+ ws.GetRow(dataIndex).GetCell(4).SetCellValue(dr["PurgingMedium"].ToString());
+ ws.GetRow(dataIndex).GetCell(5).SetCellValue(dr["CleaningMedium"].ToString());
+ j++;
+ }
+
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 27, rowIndex + 34, style, 0, 6, true);
+
+ //合并单元格合和填充值
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 27, rowIndex + 27, 0, 6));
+ ws.GetRow(rowIndex + 27).GetCell(0).CellStyle = style2;
+ ws.GetRow(rowIndex + 27).GetCell(0).SetCellValue("检验方法及结果:\nInspection method and conclusion:");
+ ws.GetRow(rowIndex + 27).Height = 32 * 20;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 29, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 29, 2, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 28, rowIndex + 29, 4, 6));
+
+ ws.GetRow(rowIndex + 29).GetCell(0).SetCellValue("建设/监理单位\nOwner/Construction Supervision Contractor");
+ ws.GetRow(rowIndex + 29).GetCell(2).SetCellValue("总承包单位\nGeneral Contractor");
+ ws.GetRow(rowIndex + 29).GetCell(4).SetCellValue("施工单位\nConstruction Company");
+ ws.GetRow(rowIndex + 28).Height = 13 * 20;
+ ws.GetRow(rowIndex + 29).Height = 13 * 20;
+
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 34, 0, 1));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 34, 2, 3));
+ ws.AddMergedRegion(new CellRangeAddress(rowIndex + 30, rowIndex + 34, 4, 6));
+
+ ws.GetRow(rowIndex + 30).GetCell(0).CellStyle = style2;
+ ws.GetRow(rowIndex + 30).GetCell(0).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:\n\n");
+ ws.GetRow(rowIndex + 30).GetCell(2).CellStyle = style2;
+ ws.GetRow(rowIndex + 30).GetCell(2).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:\n\n");
+ ws.GetRow(rowIndex + 30).GetCell(4).CellStyle = style2;
+ ws.GetRow(rowIndex + 30).GetCell(4).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 班(组)长:\n Leader:\n\n 日期Date:\n\n");
+
+ ws.GetRow(rowIndex + 30).Height = 40 * 20;
+ ws.GetRow(rowIndex + 31).Height = 24 * 20;
+ ws.GetRow(rowIndex + 32).Height = 16 * 20;
+ ws.GetRow(rowIndex + 33).Height = 26 * 20;
+ ws.GetRow(rowIndex + 34).Height = 33 * 20;
+ #endregion
+
+ rowIndex = rowIndex + 12;
}
- ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("检查项目及要求\nInspection items and requirements");
- ws.GetRow(rowIndex + 3).GetCell(6).SetCellValue("检查结果\nResult");
- ws.GetRow(rowIndex + 4).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("管线压力试验检查合格。Pipeline pressure test is acceptable.");
-
- ws.GetRow(rowIndex + 5).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("与吹扫及清洗无关的安全附件和仪表元件已经拆除或按要求隔离。Safety attachments and instruments not involved in purging and cleaning have been dismantled or isolated as per requirement.");
-
- ws.GetRow(rowIndex + 6).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 6).GetCell(0).SetCellValue("管线系统内阀门已按要求开启。All piping system valves have been opened.");
-
- ws.GetRow(rowIndex + 7).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("不锈钢管线系统清洗用水应符合规范要求。Test use water of stainless steel pipeline shall be in compliance with specification.");
-
- #endregion
-
- #region 表格部分
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 8, rowIndex + 24, style, 0, 6, true);
- //循环合并单元格和设置行高
- for (int i = 8; i < 25; i++)
- {
- if (i == 8)
- ws.GetRow(rowIndex + i).Height = 30 * 20;
- else
- ws.GetRow(rowIndex + i).Height = 20 * 20;
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 5, 6));
- }
- ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("管道编号\nPipeline No.");
- ws.GetRow(rowIndex + 8).GetCell(2).SetCellValue("管线材质\nMaterial");
- ws.GetRow(rowIndex + 8).GetCell(3).SetCellValue("操作介质\nOperation Medium");
- ws.GetRow(rowIndex + 8).GetCell(4).SetCellValue("吹扫介质\nBlowing Meadium");
- ws.GetRow(rowIndex + 8).GetCell(5).SetCellValue("清洗介质\nFlushing Medium");
-
- ws.GetRow(rowIndex + 9).GetCell(0).SetCellValue("1701-130-9062.058-0000");
- ws.GetRow(rowIndex + 9).GetCell(2).SetCellValue("A53-B");
- ws.GetRow(rowIndex + 9).GetCell(3).SetCellValue("Fire Water");
- ws.GetRow(rowIndex + 9).GetCell(4).SetCellValue("Air");
- ws.GetRow(rowIndex + 9).GetCell(5).SetCellValue("Water");
-
- #endregion
-
- #region 尾部
-
- ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 25, rowIndex + 27, style, 0, 6, true);
- //设置行高度
- ws.GetRow(rowIndex + 25).Height = 20 * 20 * 3;
- ws.GetRow(rowIndex + 26).Height = 20 * 20 * 3;
- ws.GetRow(rowIndex + 27).Height = 20 * 20 * 7;
-
- //合并单元格合和填充值
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + 25, rowIndex + 25, 0, 6));
- ws.GetRow(rowIndex + 25).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 25).GetCell(0).SetCellValue("检验方法及结果:\nInspection method and conclusion:");
-
- for (int i = 26; i < 28; i++)
- {
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 0, 1));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 2, 3));
- ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 4, 6));
- }
- ws.GetRow(rowIndex + 26).GetCell(0).SetCellValue("建设/监理单位\nOwner/Construction Supervision Contractor");
- ws.GetRow(rowIndex + 26).GetCell(2).SetCellValue("总承包单位\nGeneral Contractor");
- ws.GetRow(rowIndex + 26).GetCell(4).SetCellValue("施工单位\nConstruction Company");
-
- ws.GetRow(rowIndex + 27).GetCell(0).CellStyle = style2;
- ws.GetRow(rowIndex + 27).GetCell(0).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:");
- ws.GetRow(rowIndex + 27).GetCell(2).CellStyle = style2;
- ws.GetRow(rowIndex + 27).GetCell(2).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n\n\n\n\n\n\n 日期Date:");
- ws.GetRow(rowIndex + 27).GetCell(4).CellStyle = style2;
- ws.GetRow(rowIndex + 27).GetCell(4).SetCellValue(" 专业工程师\n Discipline Engineer: \n\n 质量检查员:\n Quality Inspector:\n\n 班(组)长:\n Leader:\n\n 日期Date:");
-
- #endregion
ws.PrintSetup.FitWidth = 1;
ws.PrintSetup.FitHeight = 0;
@@ -6328,7 +6524,37 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
#region 私有方法
+ ///
+ /// 查询指定条数分页
+ ///
+ ///
+ public static DataTable GetPageToTable(DataTable dt, int StartNum, int EndNum)
+ {
+ //0页代表每页数据,直接返回
+ if (EndNum == 0) return dt;
+ //数据源为空返回空DataTable
+ if (dt == null) return new DataTable();
+ DataTable newdt = dt.Copy();
+ newdt.Clear();//copy dt的框架
+
+ if (StartNum >= dt.Rows.Count)
+ return newdt;//源数据记录数小于等于要显示的记录,直接返回dt
+
+ if (EndNum > dt.Rows.Count)
+ EndNum = dt.Rows.Count;
+ for (int i = StartNum; i <= EndNum - 1; i++)
+ {
+ DataRow newdr = newdt.NewRow();
+ DataRow dr = dt.Rows[i];
+ foreach (DataColumn column in dt.Columns)
+ {
+ newdr[column.ColumnName] = dr[column.ColumnName];
+ }
+ newdt.Rows.Add(newdr);
+ }
+ return newdt;
+ }
///
/// 获取某一列的所有值
///
diff --git a/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/JointInfo.aspx.cs b/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/JointInfo.aspx.cs
index 9605a2b..850ae4b 100644
--- a/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/JointInfo.aspx.cs
+++ b/HJGL/FineUIPro.Web/WeldingProcess/WeldingManage/JointInfo.aspx.cs
@@ -1139,55 +1139,58 @@ namespace FineUIPro.Web.WeldingProcess.WeldingManage
//获取当前页数据
var pageTb = GetPageToTable(tb, dStart, dEnd);
- for (int j = 0; j < pageTb.Rows.Count; j++)
+ int j = 0;
+ foreach (DataRow dr in pageTb.Rows)
{
int dataIndex = dataTit + j;
//管道编号/单线号
ws.GetRow(dataIndex).GetCell(0).SetCellValue(titleModel.PipelineCode);
//焊口编号
- ws.GetRow(dataIndex).GetCell(1).SetCellValue(tb.Rows[i]["WeldJointCode"].ToString());
+ ws.GetRow(dataIndex).GetCell(1).SetCellValue(dr["WeldJointCode"].ToString());
//焊接形式
- ws.GetRow(dataIndex).GetCell(3).SetCellValue(tb.Rows[i]["WeldTypeCode"].ToString());
+ ws.GetRow(dataIndex).GetCell(3).SetCellValue(dr["WeldTypeCode"].ToString());
//焊工代号
List welderStr = new List();
- if (!string.IsNullOrWhiteSpace(tb.Rows[i]["BackingWelderCode"].ToString()))
+ if (!string.IsNullOrWhiteSpace(dr["BackingWelderCode"].ToString()))
{
- welderStr.Add(tb.Rows[i]["BackingWelderCode"].ToString());
+ welderStr.Add(dr["BackingWelderCode"].ToString());
}
- if (!string.IsNullOrWhiteSpace(tb.Rows[i]["CoverWelderCode"].ToString()))
+ if (!string.IsNullOrWhiteSpace(dr["CoverWelderCode"].ToString()))
{
- welderStr.Add(tb.Rows[i]["CoverWelderCode"].ToString());
+ welderStr.Add(dr["CoverWelderCode"].ToString());
}
if (welderStr.Count > 0) welderStr = welderStr.GroupBy(x => x).Select(x => x.Key).ToList();
ws.GetRow(dataIndex).GetCell(4).SetCellValue(string.Join("/", welderStr));
//规格mm
- ws.GetRow(dataIndex).GetCell(5).SetCellValue(tb.Rows[i]["Specification"].ToString());
+ ws.GetRow(dataIndex).GetCell(5).SetCellValue(dr["Specification"].ToString());
//材质
- ws.GetRow(dataIndex).GetCell(6).SetCellValue(tb.Rows[i]["Material1Code"].ToString());
+ ws.GetRow(dataIndex).GetCell(6).SetCellValue(dr["Material1Code"].ToString());
//焊接位置
- ws.GetRow(dataIndex).GetCell(7).SetCellValue(tb.Rows[i]["WeldingLocationCode"].ToString());
+ ws.GetRow(dataIndex).GetCell(7).SetCellValue(dr["WeldingLocationCode"].ToString());
//焊接方法
- ws.GetRow(dataIndex).GetCell(8).SetCellValue(tb.Rows[i]["WeldingMethodCode"].ToString());
+ ws.GetRow(dataIndex).GetCell(8).SetCellValue(dr["WeldingMethodCode"].ToString());
//焊材牌号
List silkMats = new List();
- if (!string.IsNullOrWhiteSpace(tb.Rows[i]["WeldSilkCode"].ToString()))
+ if (!string.IsNullOrWhiteSpace(dr["WeldSilkCode"].ToString()))
{
- silkMats.Add(tb.Rows[i]["WeldSilkCode"].ToString());
+ silkMats.Add(dr["WeldSilkCode"].ToString());
}
- if (!string.IsNullOrWhiteSpace(tb.Rows[i]["WeldMatCode"].ToString()))
+ if (!string.IsNullOrWhiteSpace(dr["WeldMatCode"].ToString()))
{
- silkMats.Add(tb.Rows[i]["WeldMatCode"].ToString());
+ silkMats.Add(dr["WeldMatCode"].ToString());
}
if (silkMats.Count > 0) silkMats = silkMats.GroupBy(x => x).Select(x => x.Key).ToList();
ws.GetRow(dataIndex).GetCell(10).SetCellValue(string.Join("/", silkMats));
//实际预热温度
- ws.GetRow(dataIndex).GetCell(12).SetCellValue(tb.Rows[i]["PrepareTemp"].ToString());
+ ws.GetRow(dataIndex).GetCell(12).SetCellValue(dr["PrepareTemp"].ToString());
//焊接日期
- ws.GetRow(dataIndex).GetCell(13).SetCellValue(tb.Rows[i]["WeldingDate"].ToString());
+ ws.GetRow(dataIndex).GetCell(13).SetCellValue(dr["WeldingDate"].ToString());
//无损检查报告
- ws.GetRow(dataIndex).GetCell(14).SetCellValue(tb.Rows[i]["NDEReportNo"].ToString());
+ ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["NDEReportNo"].ToString());
+ j++;
}
+
rowIndex += tIndex;
#endregion
diff --git a/HJGL/Model/Model.csproj b/HJGL/Model/Model.csproj
index 78bcf82..57e00db 100644
--- a/HJGL/Model/Model.csproj
+++ b/HJGL/Model/Model.csproj
@@ -79,6 +79,9 @@
+
+
+