This commit is contained in:
jackchenyang
2024-05-29 10:09:16 +08:00
parent bd97eda8b0
commit 5871297f1f
9 changed files with 394 additions and 1028 deletions
@@ -53,7 +53,7 @@
</Toolbars>
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="试压包节点树" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true" AutoLeafIdentification="true"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true" AutoLeafIdentification="true"
EnableSingleExpand="true" EnableTextSelection="true">
</f:Tree>
</Items>
@@ -66,7 +66,8 @@
<Items>
<f:HiddenField runat="server" ID="hdPTP_ID"></f:HiddenField>
<f:ToolbarFill ID="ToolbarFill1" runat="server"> </f:ToolbarFill>
<f:DropDownList ID="drpPrintTypeList" Width="500" EnableMultiSelect="true" EnableCheckBoxSelect="true" runat="server" Label="打印报表" LabelAlign="Right"></f:DropDownList>
<f:DropDownList ID="drpPrintTypeList" Width="500" EnableMultiSelect="true"
AutoSelectFirstItem="false" EnableCheckBoxSelect="true" runat="server" Label="打印报表" LabelAlign="Right"></f:DropDownList>
<f:Button ID="btnPrint" Text="打印" Icon="Printer" EnableAjax="false" runat="server" DisableControlBeforePostBack="false" EnablePostBack="true" OnClick="btnPrint_Click">
</f:Button>
<f:Button ID="btnAudit" Text="审核" ToolTip="审核检测单" AjaxLoadingType="Mask" ShowAjaxLoadingMaskText="true"
@@ -175,8 +176,8 @@
</Items>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="true" Title="试压包明细" EnableCollapse="true" Collapsed="false"
runat="server" BoxFlex="1" DataKeyNames="PT_PipeId" AllowCellEditing="true"
EnableColumnLines="true" ClicksToEdit="2" DataIDField="PT_PipeId" AllowSorting="true"
runat="server" BoxFlex="1" DataKeyNames="PipelineId" AllowCellEditing="true"
EnableColumnLines="true" ClicksToEdit="2" DataIDField="PipelineId" AllowSorting="true"
SortField="WorkAreaCode,PipelineCode" SortDirection="ASC" OnSort="Grid1_Sort" EnableTextSelection="True"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange">
<Toolbars>
@@ -214,7 +215,7 @@
<f:RenderField HeaderText="不合格数" ColumnID="CountU" DataField="CountU" SortField="CountU"
FieldType="Int" HeaderTextAlign="Center" TextAlign="Left" Width="80px">
</f:RenderField>
<f:RenderField HeaderText="应检测比例" ColumnID="NDTR_Name" DataField="NDTR_Name" SortField="NDTR_Name"
<f:RenderField HeaderText="应检测比例" ColumnID="NDTR_Rate" DataField="NDTR_Rate" SortField="NDTR_Rate"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="90px">
</f:RenderField>
<f:RenderField HeaderText="实际检测比例" ColumnID="Ratio" DataField="Ratio" SortField="Ratio"
@@ -11,12 +11,14 @@ using System.Web.UI;
using System.Web.UI.WebControls;
using System.Windows.Forms;
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.Streaming;
using NPOI.XSSF.UserModel;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using BorderStyle = NPOI.SS.UserModel.BorderStyle;
namespace FineUIPro.Web.WeldingProcess.TestPackageManage
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
this.drpPrintTypeList.DataTextField = "Title";
this.drpPrintTypeList.DataValueField = "Id";
this.drpPrintTypeList.DataBind();
this.drpPrintTypeList.Items.Insert(0, new ListItem("请选择", ""));
}
#endregion
@@ -659,6 +661,11 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
Alert.ShowInTop("请选择打印报表!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID) )
{
Alert.ShowInTop("请选择试压包!", MessageBoxIcon.Warning);
return;
}
CreateDataExcel(selectValArray);
}
@@ -1150,210 +1157,360 @@ 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, 6 * 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, rowIndex + 3, rowIndex + 2, 4, 3, img1, 1.2, 1.8);
InsertImage(hssfworkbook, ws, rowIndex + 3, rowIndex + 3, 4, 4, img2, 1.9, 1.9);
InsertImage(hssfworkbook, ws, rowIndex + 3, rowIndex + 13, 4, 14, img3, 1.5, 1.5);
InsertImage(hssfworkbook, ws, rowIndex + 3, rowIndex + 15, 4, 16, img4, 1.5, 1.5);
#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);
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;
for (int j = 0; j < pageTb.Rows.Count; j++)
{
int dataIndex = dataTit + j;
ws.GetRow(dataIndex).GetCell(2).SetCellValue($"{j + 1}");
ws.GetRow(dataIndex).GetCell(3).SetCellValue(pageTb.Rows[i]["PipelineCode"].ToString());
ws.GetRow(dataIndex).GetCell(9).SetCellValue(pageTb.Rows[i]["SingleNumber"].ToString());
ws.GetRow(dataIndex).GetCell(14).SetCellValue(pageTb.Rows[i]["DrawingsNum"].ToString());
ws.GetRow(dataIndex).GetCell(15).SetCellValue(pageTb.Rows[i]["PageNum"].ToString());
ws.GetRow(dataIndex).GetCell(16).SetCellValue(pageTb.Rows[i]["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;
}
//如果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);
@@ -3114,9 +3271,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
ws.PrintSetup.FitWidth = 1;
ws.PrintSetup.FitHeight = 0;
ws.PrintSetup.PaperSize = (int)PaperSize.A4_Small;
ws.PrintSetup.Scale = 85;
ws.FitToPage = true;
//横向打印
ws.PrintSetup.Landscape = true;
//垂直水平居中
@@ -3132,220 +3288,7 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
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 FormI");
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 NameBASF (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)
{
@@ -6332,7 +6275,37 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
#region
/// <summary>
/// 查询指定条数分页
/// </summary>
/// <returns></returns>
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;
}
/// <summary>
/// 获取某一列的所有值
/// </summary>