打印格式修改
This commit is contained in:
parent
26d1774fb1
commit
988b5983e4
|
@ -177,7 +177,660 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
|
|||
|
||||
XSSFSheet ws = new XSSFSheet();
|
||||
//for (int gi = 0; gi < Grid1.SelectedRowIDArray.Length; gi++)
|
||||
foreach(string trustId in Grid1.SelectedRowIDArray)
|
||||
foreach (string trustId in Grid1.SelectedRowIDArray)
|
||||
{
|
||||
var trust = BLL.Batch_BatchTrustService.GetBatchTrustViewById(trustId);
|
||||
string trustBatchId = trust.TrustBatchId.ToString();
|
||||
string detectionTypeCode = trust.DetectionTypeCode.ToString();
|
||||
//头部
|
||||
var listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@TrustBatchId", trustBatchId));
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
var tbTitle = SQLHelper.GetDataTableRunProc("sp_TrustReport", parameter);
|
||||
//列表
|
||||
var listTitleStr = new List<SqlParameter>();
|
||||
listTitleStr.Add(new SqlParameter("@TrustBatchId", trustBatchId));
|
||||
SqlParameter[] titleparameter = listTitleStr.ToArray();
|
||||
var tb = SQLHelper.GetDataTableRunProc("TrustItemReport", titleparameter);
|
||||
|
||||
var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
|
||||
var styleButton = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
|
||||
var styleTop = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
|
||||
var styleNone = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
|
||||
|
||||
if (detectionTypeCode.Trim() == "PMI")
|
||||
{
|
||||
if (hssfworkbook.GetSheet("材料及配件检测委托单") != null)
|
||||
{
|
||||
ws = (XSSFSheet)hssfworkbook.GetSheet("材料及配件检测委托单");
|
||||
}
|
||||
else
|
||||
{
|
||||
rowIndex = 0;
|
||||
ws = (XSSFSheet)hssfworkbook.CreateSheet("材料及配件检测委托单");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, 5 * 256);
|
||||
ws.SetColumnWidth(1, 7 * 256);
|
||||
ws.SetColumnWidth(2, 9 * 256);
|
||||
ws.SetColumnWidth(3, 5 * 256);
|
||||
ws.SetColumnWidth(4, 5 * 256);
|
||||
ws.SetColumnWidth(5, 5 * 256);
|
||||
ws.SetColumnWidth(6, 5 * 256);
|
||||
ws.SetColumnWidth(7, 6 * 256);
|
||||
ws.SetColumnWidth(8, 6 * 256);
|
||||
ws.SetColumnWidth(9, 9 * 256);
|
||||
ws.SetColumnWidth(10, 8 * 256);
|
||||
ws.SetColumnWidth(11, 8 * 256);
|
||||
ws.SetColumnWidth(12, 5 * 256);
|
||||
ws.SetColumnWidth(13, 9 * 256);
|
||||
ws.SetColumnWidth(14, 4 * 256);
|
||||
ws.SetColumnWidth(15, 4 * 256);
|
||||
ws.SetColumnWidth(16, 4 * 256);
|
||||
ws.SetColumnWidth(17, 5 * 256);
|
||||
ws.SetColumnWidth(18, 10 * 256);
|
||||
ws.SetColumnWidth(19, 8 * 256);
|
||||
ws.SetColumnWidth(20, 8 * 256);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
if (tb.Rows.Count > 0 && tbTitle.Rows.Count > 0)
|
||||
{
|
||||
var tbNum = tb.Rows.Count;
|
||||
var pageNum =
|
||||
tbNum < 17 ? 1
|
||||
: Math.Ceiling((float)(tbNum - 16) / 16) + 1;
|
||||
|
||||
//循环页
|
||||
for (int i = 1; i <= pageNum; i++)
|
||||
{
|
||||
#region 头部
|
||||
|
||||
ws = ClExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 5, style, 0, 20, true);
|
||||
|
||||
//行0
|
||||
CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex + 3, 0, 4);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(0).SetCellValue(tbTitle.Rows[0]["PipelineCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex, rowIndex + 3, 5, 15);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(5).SetCellValue("材料及配件检测委托单");
|
||||
ws.GetRow(rowIndex).GetCell(5).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 16, true, true);
|
||||
region = new CellRangeAddress(rowIndex, rowIndex, 16, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(16).SetCellValue(tbTitle.Rows[0]["ProjectName"].ToString());
|
||||
ws.GetRow(rowIndex).GetCell(16).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false);
|
||||
|
||||
//行1
|
||||
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 16, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 1).GetCell(16).SetCellValue("");
|
||||
ws.GetRow(rowIndex + 1).GetCell(16).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9, true, false);
|
||||
|
||||
//行2
|
||||
region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue(tbTitle.Rows[0]["InstallationName"].ToString());
|
||||
ws.GetRow(rowIndex + 2).GetCell(16).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, 16, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 3).GetCell(16).SetCellValue("");
|
||||
ws.GetRow(rowIndex + 3).GetCell(16).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false);
|
||||
|
||||
//行4
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 0, 1);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("检测方法");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 2, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(2).SetCellValue(tbTitle.Rows[0]["DetectionTypeCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 4, 6);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("检测标准");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 9);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("GB 50184-2011");
|
||||
//ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue(tbTitle.Rows[0]["ExecStandard"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 10, 11);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("检测比列");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 12, 14);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue(tbTitle.Rows[0]["DetectionRateCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 17);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("委托编号");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 18, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(18).SetCellValue(tbTitle.Rows[0]["TrustBatchCode"].ToString());
|
||||
|
||||
//行5
|
||||
ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("序号");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 2);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检件编号");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 3, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(3).SetCellValue("检件名称");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("质量证明文件编号");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("炉/批号");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(11).SetCellValue("检件规格");
|
||||
ws.GetRow(rowIndex + 5).GetCell(13).SetCellValue("检件材质");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 14, 16);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(14).SetCellValue("热处理状态");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 17, 18);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(17).SetCellValue("制造/验收标准");
|
||||
ws.GetRow(rowIndex + 5).GetCell(19).SetCellValue("总数量(道)");
|
||||
ws.GetRow(rowIndex + 5).GetCell(20).SetCellValue("抽检数量");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
|
||||
ws = ClExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 20, style, 0, 20);
|
||||
var dataTit = rowIndex + 6;
|
||||
var tIndex = 5 + 15;
|
||||
var dStart = 0;
|
||||
var dEnd = 0;
|
||||
if (i == 1)
|
||||
{
|
||||
dStart = 0;
|
||||
dEnd = 15;
|
||||
}
|
||||
else
|
||||
{
|
||||
dStart = i == 2 ? 15 : ((i - 2) * 15) + 15;
|
||||
dEnd = ((i - 1) * 15) + 15;
|
||||
}
|
||||
|
||||
//合并单元格
|
||||
for (int hb = dataTit; hb <= rowIndex + tIndex; hb++)
|
||||
{
|
||||
region = new CellRangeAddress(hb, hb, 1, 2);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 3, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 14, 16);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 17, 18);
|
||||
ws.AddMergedRegion(region);
|
||||
}
|
||||
|
||||
//获取当前页数据
|
||||
var pageTb = GetPageToTable(tb, dStart, dEnd);
|
||||
for (int j = 0; j < pageTb.Rows.Count; j++)
|
||||
{
|
||||
int dataIndex = dataTit + j;
|
||||
//序号
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(pageTb.Rows[j]["Number"].ToString());
|
||||
//检件编号
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(pageTb.Rows[j]["PipelineCode"].ToString() + " " + pageTb.Rows[j]["WeldJointCode"].ToString());
|
||||
//检件名称
|
||||
ws.GetRow(dataIndex).GetCell(3).SetCellValue("焊缝");
|
||||
//质量证明文件编号
|
||||
ws.GetRow(dataIndex).GetCell(6).SetCellValue(tbTitle.Rows[0]["QuaCertFile"].ToString());
|
||||
//炉/批号
|
||||
List<string> lpls = new List<string>();
|
||||
if (!string.IsNullOrWhiteSpace(pageTb.Rows[0]["HeartNo1"].ToString())) lpls.Add(pageTb.Rows[0]["HeartNo1"].ToString());
|
||||
if (!string.IsNullOrWhiteSpace(pageTb.Rows[0]["HeartNo2"].ToString())) lpls.Add(pageTb.Rows[0]["HeartNo2"].ToString());
|
||||
if (lpls.Count > 0) lpls = lpls.GroupBy(x => x).Select(x => x.Key).ToList();
|
||||
ws.GetRow(dataIndex).GetCell(8).SetCellValue(string.Join("/", lpls));
|
||||
//检件规格
|
||||
ws.GetRow(dataIndex).GetCell(11).SetCellValue(pageTb.Rows[j]["Specification"].ToString());
|
||||
//检件材质
|
||||
ws.GetRow(dataIndex).GetCell(13).SetCellValue(pageTb.Rows[j]["MaterialCode"].ToString());
|
||||
//热处理状态
|
||||
ws.GetRow(dataIndex).GetCell(14).SetCellValue(pageTb.Rows[j]["IsHotProessName"].ToString());
|
||||
//制造/验收标准
|
||||
ws.GetRow(dataIndex).GetCell(17).SetCellValue(tbTitle.Rows[0]["AcceptStandard"].ToString());
|
||||
//总数量(道)
|
||||
ws.GetRow(dataIndex).GetCell(19).SetCellValue("");
|
||||
//抽检数量
|
||||
ws.GetRow(dataIndex).GetCell(20).SetCellValue("");
|
||||
}
|
||||
|
||||
rowIndex += tIndex;
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
|
||||
ws = ClExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 8, style, 0, 20);
|
||||
//合并单元格
|
||||
for (int hb = rowIndex + 1; hb <= rowIndex + 8; hb++)
|
||||
{
|
||||
for (int c = 0; c <= 20; c++)
|
||||
{
|
||||
if (hb >= rowIndex + 2 && hb < rowIndex + 8)
|
||||
{
|
||||
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 + 8)
|
||||
{
|
||||
ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Right, 10, true, false);
|
||||
}
|
||||
}
|
||||
region = new CellRangeAddress(hb, hb, 0, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 4, 8);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 9, 11);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 12, 17);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 18, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
}
|
||||
|
||||
//尾部行1
|
||||
ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("检测单位");
|
||||
ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("监理单位");
|
||||
ws.GetRow(rowIndex + 1).GetCell(9).SetCellValue("管理公司");
|
||||
ws.GetRow(rowIndex + 1).GetCell(12).SetCellValue("建设单位");
|
||||
ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue("检测单位");
|
||||
//尾部行2
|
||||
ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("质量检测员:");
|
||||
ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("专业工程师:");
|
||||
ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("专业/质量工程师:");
|
||||
ws.GetRow(rowIndex + 2).GetCell(12).SetCellValue("业主代表:");
|
||||
ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("接收人:");
|
||||
//尾部行4
|
||||
ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("专业工程师:");
|
||||
//尾部行8
|
||||
ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(4).SetCellValue("年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(9).SetCellValue("年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(12).SetCellValue("年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(18).SetCellValue("年 月 日");
|
||||
|
||||
#endregion
|
||||
|
||||
ws = ClExcelCreateRow(ws, hssfworkbook, rowIndex + 9, rowIndex + 9, style, 0, 20, false, true);
|
||||
rowIndex += 10;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (hssfworkbook.GetSheet("无损检测委托单") != null)
|
||||
{
|
||||
ws = (XSSFSheet)hssfworkbook.GetSheet("无损检测委托单");
|
||||
}
|
||||
else
|
||||
{
|
||||
rowIndex = 0;
|
||||
ws = (XSSFSheet)hssfworkbook.CreateSheet("无损检测委托单");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, 9 * 256);
|
||||
ws.SetColumnWidth(1, 6 * 256);
|
||||
ws.SetColumnWidth(2, 6 * 256);
|
||||
ws.SetColumnWidth(3, 6 * 256);
|
||||
ws.SetColumnWidth(4, 6 * 256);
|
||||
ws.SetColumnWidth(5, 9 * 256);
|
||||
ws.SetColumnWidth(6, 9 * 256);
|
||||
ws.SetColumnWidth(7, 5 * 256);
|
||||
ws.SetColumnWidth(8, 5 * 256);
|
||||
ws.SetColumnWidth(9, 5 * 256);
|
||||
ws.SetColumnWidth(10, 8 * 256);
|
||||
ws.SetColumnWidth(11, 11 * 256);
|
||||
ws.SetColumnWidth(12, 13 * 256);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
if (tb.Rows.Count > 0 && tbTitle.Rows.Count > 0)
|
||||
{
|
||||
var tbNum = tb.Rows.Count;
|
||||
var pageNum =
|
||||
tbNum < 15 ? 1
|
||||
: Math.Ceiling((float)(tbNum - 14) / 14) + 1;
|
||||
|
||||
//循环页
|
||||
for (int i = 1; i <= pageNum; i++)
|
||||
{
|
||||
#region 头部
|
||||
|
||||
ws = WsExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 12, style, 0, 12, 1);
|
||||
//行0
|
||||
CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex + 3, 0, 2);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(0).SetCellValue(tbTitle.Rows[0]["PipelineCode"].ToString());
|
||||
ws.GetRow(rowIndex).GetCell(0).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(1).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(2).CellStyle = style;
|
||||
|
||||
region = new CellRangeAddress(rowIndex, rowIndex + 3, 3, 9);
|
||||
ws.AddMergedRegion(region);
|
||||
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, HorizontalAlignment.Center, 16, true, true);
|
||||
ws.GetRow(rowIndex).GetCell(4).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(5).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(6).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(7).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(8).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(9).CellStyle = style;
|
||||
|
||||
region = new CellRangeAddress(rowIndex, rowIndex, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(10).SetCellValue(tbTitle.Rows[0]["ProjectName"].ToString());
|
||||
ws.GetRow(rowIndex).GetCell(10).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10.5, true, false);
|
||||
ws.GetRow(rowIndex).GetCell(11).CellStyle = styleButton;
|
||||
ws.GetRow(rowIndex).GetCell(12).CellStyle = styleButton;
|
||||
|
||||
//行1
|
||||
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("EnProjectName");
|
||||
ws.GetRow(rowIndex + 1).GetCell(10).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Justify, 10.5, true, false);
|
||||
ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = styleNone;
|
||||
ws.GetRow(rowIndex + 1).GetCell(12).CellStyle = styleNone;
|
||||
|
||||
//行2
|
||||
region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue(tbTitle.Rows[0]["WorkAreaName"].ToString());
|
||||
ws.GetRow(rowIndex + 2).GetCell(10).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Justify, 10.5, true, false);
|
||||
ws.GetRow(rowIndex + 2).GetCell(11).CellStyle = styleNone;
|
||||
ws.GetRow(rowIndex + 2).GetCell(12).CellStyle = styleNone;
|
||||
|
||||
//行3
|
||||
region = new CellRangeAddress(rowIndex + 3, rowIndex + 3, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 3).GetCell(10).SetCellValue("EnWorkAreaName");
|
||||
ws.GetRow(rowIndex + 3).GetCell(10).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Justify, 10.5, true, false);
|
||||
ws.GetRow(rowIndex + 3).GetCell(11).CellStyle = styleTop;
|
||||
ws.GetRow(rowIndex + 3).GetCell(12).CellStyle = styleTop;
|
||||
|
||||
//行4
|
||||
ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("检查单位");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 1, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue(tbTitle.Rows[0]["NDEUnit"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("委托单编号");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue(tbTitle.Rows[0]["TrustBatchCode"].ToString());
|
||||
|
||||
//行5,
|
||||
ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("探伤地点");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(4).SetCellValue("检测时机");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue(tbTitle.Rows[0]["DetectionTiming"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("检测标准");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(11).SetCellValue(tbTitle.Rows[0]["TestStandard"].ToString());
|
||||
|
||||
//行6
|
||||
ws.GetRow(rowIndex + 6).GetCell(0).SetCellValue("委托单位");
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(1).SetCellValue(tbTitle.Rows[0]["TrustUnit"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(4).SetCellValue("焊接方法");
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(6).SetCellValue(tbTitle.Rows[0]["WeldingMethodCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(8).SetCellValue("合格级别");
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(11).SetCellValue(tbTitle.Rows[0]["QueClass"].ToString());
|
||||
|
||||
//行7
|
||||
ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("检测方法");
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(1).SetCellValue(detectionTypeCode);
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(4).SetCellValue("坡口形式");
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(6).SetCellValue(tbTitle.Rows[0]["GrooveTypeCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(8).SetCellValue("检测比例");
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(11).SetCellValue(tbTitle.Rows[0]["DetectionRateCode"].ToString());
|
||||
|
||||
//11-7=4
|
||||
|
||||
//行8
|
||||
ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("序号");
|
||||
region = new CellRangeAddress(rowIndex + 8, rowIndex + 8, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 8).GetCell(1).SetCellValue("管道编号/单线号");
|
||||
region = new CellRangeAddress(rowIndex + 8, rowIndex + 8, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 8).GetCell(4).SetCellValue("焊口号");
|
||||
region = new CellRangeAddress(rowIndex + 8, rowIndex + 8, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 8).GetCell(6).SetCellValue("焊工号");
|
||||
|
||||
region = new CellRangeAddress(rowIndex + 8, rowIndex + 8, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 8).GetCell(11).SetCellValue("检件规格");
|
||||
ws.GetRow(rowIndex + 8).GetCell(8).SetCellValue("检件材质");
|
||||
ws.GetRow(rowIndex + 8).GetCell(12).SetCellValue("备注");
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
ws = WsExcelCreateRow(ws, hssfworkbook, rowIndex + 9, rowIndex + 24, style, 0, 12, 2);
|
||||
var dataTit = rowIndex + 9;
|
||||
var tIndex = 8 + 14;
|
||||
var dStart = 0;
|
||||
var dEnd = 0;
|
||||
if (i == 1)
|
||||
{
|
||||
dStart = 0;
|
||||
dEnd = 14;
|
||||
}
|
||||
else
|
||||
{
|
||||
dStart = i == 2 ? 14 : ((i - 2) * 14) + 14;
|
||||
dEnd = ((i - 1) * 14) + 14;
|
||||
}
|
||||
|
||||
//合并单元格
|
||||
for (int hb = dataTit; hb <= rowIndex + tIndex; hb++)
|
||||
{
|
||||
region = new CellRangeAddress(hb, hb, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
}
|
||||
//获取当前页数据
|
||||
var pageTb = GetPageToTable(tb, dStart, dEnd);
|
||||
for (int j = 0; j < pageTb.Rows.Count; j++)
|
||||
{
|
||||
int dataIndex = dataTit + j;
|
||||
|
||||
//序号
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(pageTb.Rows[j]["Number"].ToString());
|
||||
//检件编号
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(pageTb.Rows[j]["PipelineCode"].ToString());
|
||||
|
||||
//焊口号
|
||||
ws.GetRow(dataIndex).GetCell(4).SetCellValue(pageTb.Rows[j]["WeldJointCode"].ToString());
|
||||
//焊工代号
|
||||
ws.GetRow(dataIndex).GetCell(6).SetCellValue(pageTb.Rows[j]["WelderCode"].ToString());
|
||||
//检件材质
|
||||
ws.GetRow(dataIndex).GetCell(8).SetCellValue(pageTb.Rows[j]["Specification"].ToString());
|
||||
//检件规格(mm)
|
||||
ws.GetRow(dataIndex).GetCell(11).SetCellValue(pageTb.Rows[j]["MaterialCode"].ToString());
|
||||
//备注
|
||||
ws.GetRow(dataIndex).GetCell(12).SetCellValue(pageTb.Rows[j]["Remark"].ToString());
|
||||
}
|
||||
if (dataTit + pageTb.Rows.Count < rowIndex+26)
|
||||
{
|
||||
ws.GetRow(dataTit + pageTb.Rows.Count).GetCell(1).SetCellValue("以下空白");
|
||||
}
|
||||
|
||||
rowIndex += tIndex;
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
ws = WsExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 8, style, 0, 12, 3);
|
||||
//合并单元格
|
||||
for (int hb = rowIndex + 1; hb <= rowIndex + 9; hb++)
|
||||
{
|
||||
for (int c = 0; c <= 12; c++)
|
||||
{
|
||||
if (hb >= rowIndex + 1 && hb <= rowIndex + 5)
|
||||
{
|
||||
ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Left, 10.5, true, false);
|
||||
}
|
||||
if (hb == rowIndex + 6 || hb == rowIndex + 7)
|
||||
{
|
||||
ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Right, 10.5, true, false);
|
||||
}
|
||||
if (hb == rowIndex + 8)
|
||||
{
|
||||
ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Right, 10.5, true, false);
|
||||
}
|
||||
}
|
||||
region = new CellRangeAddress(hb, hb, 0, 4);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 5, 9);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
}
|
||||
//尾部行1
|
||||
//尾部行2
|
||||
ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("管理公司/监理单位:");
|
||||
ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("检测单位:");
|
||||
ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("总承包单位:");
|
||||
|
||||
//尾部行8
|
||||
ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue(" 年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(5).SetCellValue(" 年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(10).SetCellValue(" 年 月 日");
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
ws = WsExcelCreateRow(ws, hssfworkbook, rowIndex + 9, rowIndex + 9, style, 0, 12, 3, true);
|
||||
rowIndex += 10;
|
||||
|
||||
//分页打印是操作
|
||||
ws.SetRowBreak(rowIndex - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((int)(90 * (num) / totalNum) > percent)
|
||||
{
|
||||
percent = (int)(100 * (num) / totalNum);
|
||||
|
||||
}
|
||||
num++;
|
||||
}
|
||||
|
||||
ws.SetMargin(MarginType.LeftMargin, 0.3);
|
||||
ws.SetMargin(MarginType.RightMargin, 0.2);
|
||||
ws.SetMargin(MarginType.BottomMargin, 0.4);
|
||||
|
||||
ws.PrintSetup.Landscape = false;
|
||||
ws.PrintSetup.PaperSize = 9;
|
||||
ws.ForceFormulaRecalculation = true;
|
||||
|
||||
|
||||
using (FileStream filess = System.IO.File.OpenWrite(ReportFileName))
|
||||
{
|
||||
hssfworkbook.Write(filess);
|
||||
//hssfworkbook.Close();
|
||||
//filess.Flush();
|
||||
//filess.Close();
|
||||
}
|
||||
|
||||
percent = 100;
|
||||
url = ReportFileName.Replace(Server.MapPath("~/"), "");
|
||||
|
||||
//FileInfo filet = new FileInfo(ReportFileName);
|
||||
//Response.Clear();
|
||||
//Response.Charset = "GB2312";
|
||||
//Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
//// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||||
//Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("无损检测委托单.xlsx"));
|
||||
//// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||||
//Response.AddHeader("Content-Length", filet.Length.ToString());
|
||||
//// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||||
//Response.ContentType = "application/ms-excel";
|
||||
//// 把文件流发送到客户端
|
||||
//Response.WriteFile(filet.FullName);
|
||||
//// 停止页面的执行
|
||||
//Response.End();
|
||||
|
||||
}
|
||||
|
||||
private void Print_Old()
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length <= 0)
|
||||
{
|
||||
Alert.ShowInTop("最少选中一行!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||||
//导出文件
|
||||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
{
|
||||
Directory.CreateDirectory(filePath);
|
||||
}
|
||||
string ReportFileName = filePath + "无损检测委托单" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx";
|
||||
//string ReportFileName = filePath + "out1.xlsx";
|
||||
|
||||
int totalNum = Grid1.SelectedRowIDArray.Length;
|
||||
int num = 1;
|
||||
int rowIndex = 0;
|
||||
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
|
||||
|
||||
XSSFSheet ws = new XSSFSheet();
|
||||
//for (int gi = 0; gi < Grid1.SelectedRowIDArray.Length; gi++)
|
||||
foreach (string trustId in Grid1.SelectedRowIDArray)
|
||||
{
|
||||
var trust = BLL.Batch_BatchTrustService.GetBatchTrustViewById(trustId);
|
||||
string trustBatchId = trust.TrustBatchId.ToString();
|
||||
|
|
|
@ -707,7 +707,7 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
|
|||
}
|
||||
}
|
||||
|
||||
protected void btnExport_Click(object sender, EventArgs e)
|
||||
protected void btnExport_Click_Old(object sender, EventArgs e)
|
||||
{
|
||||
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_BatchTrustMenuId, Const.BtnOut))
|
||||
{
|
||||
|
@ -1379,6 +1379,641 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
|
|||
}
|
||||
}
|
||||
|
||||
protected void btnExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HJGL_BatchTrustMenuId, Const.BtnOut))
|
||||
{
|
||||
//PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("TrustBatchOut.aspx", "导出 - ")));
|
||||
if (string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
|
||||
{
|
||||
Alert.ShowInTop("请选择委托单!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
|
||||
//导出文件
|
||||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||||
if (!Directory.Exists(filePath))
|
||||
{
|
||||
Directory.CreateDirectory(filePath);
|
||||
}
|
||||
string ReportFileName = filePath + "out1.xlsx";
|
||||
int rowIndex = 0;
|
||||
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
|
||||
XSSFSheet ws = new XSSFSheet();
|
||||
string trustBatchId = this.tvControlItem.SelectedNodeID;
|
||||
//头部
|
||||
var listStr = new List<SqlParameter>();
|
||||
listStr.Add(new SqlParameter("@TrustBatchId", trustBatchId));
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
var tbTitle = SQLHelper.GetDataTableRunProc("sp_TrustReport", parameter);
|
||||
string detectionTypeCode = tbTitle.Rows[0]["DetectionTypeCode"].ToString();
|
||||
string trustBatchCode = tbTitle.Rows[0]["TrustBatchCode"].ToString();
|
||||
//列表
|
||||
var listTitleStr = new List<SqlParameter>();
|
||||
listTitleStr.Add(new SqlParameter("@TrustBatchId", trustBatchId));
|
||||
SqlParameter[] titleparameter = listTitleStr.ToArray();
|
||||
var tb = SQLHelper.GetDataTableRunProc("TrustItemReport", titleparameter);
|
||||
var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
|
||||
|
||||
var styleButton = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
|
||||
var styleTop = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
|
||||
var styleNone = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
|
||||
if (detectionTypeCode.Trim() == "PMI")
|
||||
{
|
||||
if (hssfworkbook.GetSheet("材料及配件检测委托单") != null)
|
||||
{
|
||||
ws = (XSSFSheet)hssfworkbook.GetSheet("材料及配件检测委托单");
|
||||
}
|
||||
else
|
||||
{
|
||||
rowIndex = 0;
|
||||
ws = (XSSFSheet)hssfworkbook.CreateSheet("材料及配件检测委托单");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, 5 * 256);
|
||||
ws.SetColumnWidth(1, 7 * 256);
|
||||
ws.SetColumnWidth(2, 5 * 256);
|
||||
ws.SetColumnWidth(3, 5 * 256);
|
||||
ws.SetColumnWidth(4, 5 * 256);
|
||||
ws.SetColumnWidth(5, 5 * 256);
|
||||
ws.SetColumnWidth(6, 5 * 256);
|
||||
ws.SetColumnWidth(7, 6 * 256);
|
||||
ws.SetColumnWidth(8, 6 * 256);
|
||||
ws.SetColumnWidth(9, 9 * 256);
|
||||
ws.SetColumnWidth(10, 8 * 256);
|
||||
ws.SetColumnWidth(11, 8 * 256);
|
||||
ws.SetColumnWidth(12, 5 * 256);
|
||||
ws.SetColumnWidth(13, 9 * 256);
|
||||
ws.SetColumnWidth(14, 4 * 256);
|
||||
ws.SetColumnWidth(15, 4 * 256);
|
||||
ws.SetColumnWidth(16, 4 * 256);
|
||||
ws.SetColumnWidth(17, 5 * 256);
|
||||
ws.SetColumnWidth(18, 10 * 256);
|
||||
ws.SetColumnWidth(19, 8 * 256);
|
||||
ws.SetColumnWidth(20, 8 * 256);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
if (tb.Rows.Count > 0 && tbTitle.Rows.Count > 0)
|
||||
{
|
||||
var tbNum = tb.Rows.Count;
|
||||
var pageNum =
|
||||
tbNum < 17 ? 1
|
||||
: Math.Ceiling((float)(tbNum - 16) / 16) + 1;
|
||||
|
||||
//循环页
|
||||
for (int i = 1; i <= pageNum; i++)
|
||||
{
|
||||
|
||||
#region 头部
|
||||
|
||||
ws = ClExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 5, style, 0, 20, true);
|
||||
|
||||
//行0
|
||||
CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex + 3, 0, 4);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(0).SetCellValue(tbTitle.Rows[0]["PipelineCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex, rowIndex + 3, 5, 15);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(5).SetCellValue("材料及配件检测委托单");
|
||||
ws.GetRow(rowIndex).GetCell(5).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 16, true, true);
|
||||
region = new CellRangeAddress(rowIndex, rowIndex, 16, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(16).SetCellValue(tbTitle.Rows[0]["ProjectName"].ToString());
|
||||
ws.GetRow(rowIndex).GetCell(16).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false);
|
||||
|
||||
//行1
|
||||
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 16, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 1).GetCell(16).SetCellValue("");
|
||||
ws.GetRow(rowIndex + 1).GetCell(16).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9, true, false);
|
||||
|
||||
//行2
|
||||
region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 16, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 2).GetCell(16).SetCellValue(tbTitle.Rows[0]["InstallationName"].ToString());
|
||||
ws.GetRow(rowIndex + 2).GetCell(16).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, 16, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 3).GetCell(16).SetCellValue("");
|
||||
ws.GetRow(rowIndex + 3).GetCell(16).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10, true, false);
|
||||
|
||||
//行4
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 0, 1);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("检测方法");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 2, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(2).SetCellValue(tbTitle.Rows[0]["DetectionTypeCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 4, 6);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(4).SetCellValue("检测标准");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 7, 9);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue("GB 50184-2011");
|
||||
//ws.GetRow(rowIndex + 4).GetCell(7).SetCellValue(tbTitle.Rows[0]["ExecStandard"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 10, 11);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(10).SetCellValue("检测比列");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 12, 14);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue(tbTitle.Rows[0]["DetectionRateCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 15, 17);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(15).SetCellValue("委托编号");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 18, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(18).SetCellValue(tbTitle.Rows[0]["TrustBatchCode"].ToString());
|
||||
|
||||
//行5
|
||||
ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("序号");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 2);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检件编号");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 3, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(3).SetCellValue("检件名称");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue("质量证明文件编号");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("炉/批号");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(11).SetCellValue("检件规格");
|
||||
ws.GetRow(rowIndex + 5).GetCell(13).SetCellValue("检件材质");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 14, 16);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(14).SetCellValue("热处理状态");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 17, 18);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(17).SetCellValue("制造/验收标准");
|
||||
ws.GetRow(rowIndex + 5).GetCell(19).SetCellValue("总数量(道)");
|
||||
ws.GetRow(rowIndex + 5).GetCell(20).SetCellValue("抽检数量");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
|
||||
ws = ClExcelCreateRow(ws, hssfworkbook, rowIndex + 6, rowIndex + 20, style, 0, 20);
|
||||
var dataTit = rowIndex + 6;
|
||||
var tIndex = 5 + 15;
|
||||
var dStart = 0;
|
||||
var dEnd = 0;
|
||||
if (i == 1)
|
||||
{
|
||||
dStart = 0;
|
||||
dEnd = 15;
|
||||
}
|
||||
else
|
||||
{
|
||||
dStart = i == 2 ? 15 : ((i - 2) * 15) + 15;
|
||||
dEnd = ((i - 1) * 15) + 15;
|
||||
}
|
||||
|
||||
//合并单元格
|
||||
for (int hb = dataTit; hb <= rowIndex + tIndex; hb++)
|
||||
{
|
||||
region = new CellRangeAddress(hb, hb, 1, 2);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 3, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 14, 16);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 17, 18);
|
||||
ws.AddMergedRegion(region);
|
||||
}
|
||||
|
||||
//获取当前页数据
|
||||
var pageTb = GetPageToTable(tb, dStart, dEnd);
|
||||
for (int j = 0; j < pageTb.Rows.Count; j++)
|
||||
{
|
||||
int dataIndex = dataTit + j;
|
||||
//序号
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(pageTb.Rows[j]["Number"].ToString());
|
||||
//检件编号
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(pageTb.Rows[j]["PipelineCode"].ToString() + " " + pageTb.Rows[j]["WeldJointCode"].ToString());
|
||||
//检件名称
|
||||
ws.GetRow(dataIndex).GetCell(3).SetCellValue("焊缝");
|
||||
//质量证明文件编号
|
||||
ws.GetRow(dataIndex).GetCell(6).SetCellValue(tbTitle.Rows[0]["QuaCertFile"].ToString());
|
||||
//炉/批号
|
||||
List<string> lpls = new List<string>();
|
||||
if (!string.IsNullOrWhiteSpace(pageTb.Rows[0]["HeartNo1"].ToString())) lpls.Add(pageTb.Rows[0]["HeartNo1"].ToString());
|
||||
if (!string.IsNullOrWhiteSpace(pageTb.Rows[0]["HeartNo2"].ToString())) lpls.Add(pageTb.Rows[0]["HeartNo2"].ToString());
|
||||
if (lpls.Count > 0) lpls = lpls.GroupBy(x => x).Select(x => x.Key).ToList();
|
||||
ws.GetRow(dataIndex).GetCell(8).SetCellValue(string.Join("/", lpls));
|
||||
//检件规格
|
||||
ws.GetRow(dataIndex).GetCell(11).SetCellValue(pageTb.Rows[j]["Specification"].ToString());
|
||||
//检件材质
|
||||
ws.GetRow(dataIndex).GetCell(13).SetCellValue(pageTb.Rows[j]["MaterialCode"].ToString());
|
||||
//热处理状态
|
||||
ws.GetRow(dataIndex).GetCell(14).SetCellValue(pageTb.Rows[j]["IsHotProessName"].ToString());
|
||||
//制造/验收标准
|
||||
ws.GetRow(dataIndex).GetCell(17).SetCellValue(tbTitle.Rows[0]["AcceptStandard"].ToString());
|
||||
//总数量(道)
|
||||
ws.GetRow(dataIndex).GetCell(19).SetCellValue("");
|
||||
//抽检数量
|
||||
ws.GetRow(dataIndex).GetCell(20).SetCellValue("");
|
||||
}
|
||||
|
||||
rowIndex += tIndex;
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
|
||||
ws = ClExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 8, style, 0, 20);
|
||||
//合并单元格
|
||||
for (int hb = rowIndex + 1; hb <= rowIndex + 8; hb++)
|
||||
{
|
||||
for (int c = 0; c <= 20; c++)
|
||||
{
|
||||
if (hb >= rowIndex + 2 && hb < rowIndex + 8)
|
||||
{
|
||||
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 + 8)
|
||||
{
|
||||
ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Right, 10, true, false);
|
||||
}
|
||||
}
|
||||
region = new CellRangeAddress(hb, hb, 0, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 4, 8);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 9, 11);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 12, 17);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 18, 20);
|
||||
ws.AddMergedRegion(region);
|
||||
}
|
||||
|
||||
//尾部行1
|
||||
ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("检测单位");
|
||||
ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("监理单位");
|
||||
ws.GetRow(rowIndex + 1).GetCell(9).SetCellValue("管理公司");
|
||||
ws.GetRow(rowIndex + 1).GetCell(12).SetCellValue("建设单位");
|
||||
ws.GetRow(rowIndex + 1).GetCell(18).SetCellValue("检测单位");
|
||||
//尾部行2
|
||||
ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("质量检测员:");
|
||||
ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("专业工程师:");
|
||||
ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("专业/质量工程师:");
|
||||
ws.GetRow(rowIndex + 2).GetCell(12).SetCellValue("业主代表:");
|
||||
ws.GetRow(rowIndex + 2).GetCell(18).SetCellValue("接收人:");
|
||||
//尾部行4
|
||||
ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("专业工程师:");
|
||||
//尾部行8
|
||||
ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(4).SetCellValue("年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(9).SetCellValue("年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(12).SetCellValue("年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(18).SetCellValue("年 月 日");
|
||||
|
||||
#endregion
|
||||
|
||||
ws = ClExcelCreateRow(ws, hssfworkbook, rowIndex + 9, rowIndex + 9, style, 0, 20, false, true);
|
||||
rowIndex += 10;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (hssfworkbook.GetSheet("无损检测委托单") != null)
|
||||
{
|
||||
ws = (XSSFSheet)hssfworkbook.GetSheet("无损检测委托单");
|
||||
}
|
||||
else
|
||||
{
|
||||
rowIndex = 0;
|
||||
ws = (XSSFSheet)hssfworkbook.CreateSheet("无损检测委托单");
|
||||
|
||||
#region 列宽
|
||||
|
||||
ws.SetColumnWidth(0, 9 * 256);
|
||||
ws.SetColumnWidth(1, 6 * 256);
|
||||
ws.SetColumnWidth(2, 6 * 256);
|
||||
ws.SetColumnWidth(3, 6 * 256);
|
||||
ws.SetColumnWidth(4, 6 * 256);
|
||||
ws.SetColumnWidth(5, 9 * 256);
|
||||
ws.SetColumnWidth(6, 9 * 256);
|
||||
ws.SetColumnWidth(7, 5 * 256);
|
||||
ws.SetColumnWidth(8, 5 * 256);
|
||||
ws.SetColumnWidth(9, 5 * 256);
|
||||
ws.SetColumnWidth(10, 8 * 256);
|
||||
ws.SetColumnWidth(11, 11 * 256);
|
||||
ws.SetColumnWidth(12, 13 * 256);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
if (tb.Rows.Count > 0 && tbTitle.Rows.Count > 0)
|
||||
{
|
||||
var tbNum = tb.Rows.Count;
|
||||
var pageNum =
|
||||
tbNum < 15 ? 1
|
||||
: Math.Ceiling((float)(tbNum - 14) / 14) + 1;
|
||||
|
||||
//循环页
|
||||
for (int i = 1; i <= pageNum; i++)
|
||||
{
|
||||
#region 头部
|
||||
|
||||
ws = WsExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 12, style, 0, 12, 1);
|
||||
//行0
|
||||
CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex + 3, 0, 2);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(0).SetCellValue("NDE-001");
|
||||
ws.GetRow(rowIndex).GetCell(0).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(1).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(2).CellStyle = style;
|
||||
|
||||
region = new CellRangeAddress(rowIndex, rowIndex + 3, 3, 9);
|
||||
ws.AddMergedRegion(region);
|
||||
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, HorizontalAlignment.Center, 16, true, true);
|
||||
ws.GetRow(rowIndex).GetCell(4).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(5).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(6).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(7).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(8).CellStyle = style;
|
||||
ws.GetRow(rowIndex).GetCell(9).CellStyle = style;
|
||||
|
||||
region = new CellRangeAddress(rowIndex, rowIndex, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex).GetCell(10).SetCellValue(tbTitle.Rows[0]["ProjectName"].ToString());
|
||||
ws.GetRow(rowIndex).GetCell(10).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 10.5, true, false);
|
||||
ws.GetRow(rowIndex).GetCell(11).CellStyle = styleButton;
|
||||
ws.GetRow(rowIndex).GetCell(12).CellStyle = styleButton;
|
||||
|
||||
//行1
|
||||
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue(tbTitle.Rows[0]["EnProjectName"].ToString());
|
||||
ws.GetRow(rowIndex + 1).GetCell(10).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Justify, 10.5, true, false);
|
||||
ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = styleNone;
|
||||
ws.GetRow(rowIndex + 1).GetCell(12).CellStyle = styleNone;
|
||||
|
||||
//行2
|
||||
region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue(tbTitle.Rows[0]["WorkAreaName"].ToString());
|
||||
ws.GetRow(rowIndex + 2).GetCell(10).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Justify, 10.5, true, false);
|
||||
ws.GetRow(rowIndex + 2).GetCell(11).CellStyle = styleNone;
|
||||
ws.GetRow(rowIndex + 2).GetCell(12).CellStyle = styleNone;
|
||||
|
||||
//行3
|
||||
region = new CellRangeAddress(rowIndex + 3, rowIndex + 3, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 3).GetCell(10).SetCellValue(tbTitle.Rows[0]["EnWorkAreaName"].ToString());
|
||||
ws.GetRow(rowIndex + 3).GetCell(10).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Justify, 10.5, true, false);
|
||||
ws.GetRow(rowIndex + 3).GetCell(11).CellStyle = styleTop;
|
||||
ws.GetRow(rowIndex + 3).GetCell(12).CellStyle = styleTop;
|
||||
|
||||
//行4
|
||||
ws.GetRow(rowIndex + 4).GetCell(0).SetCellValue("检查单位");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 1, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(1).SetCellValue(tbTitle.Rows[0]["NDEUnit"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(8).SetCellValue("委托单编号");
|
||||
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 4).GetCell(11).SetCellValue(tbTitle.Rows[0]["TrustBatchCode"].ToString());
|
||||
|
||||
//行5,
|
||||
ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("探伤地点");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(4).SetCellValue("检测时机");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(6).SetCellValue(tbTitle.Rows[0]["DetectionTiming"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("检测标准");
|
||||
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 5).GetCell(11).SetCellValue(tbTitle.Rows[0]["TestStandard"].ToString());
|
||||
|
||||
//行6
|
||||
ws.GetRow(rowIndex + 6).GetCell(0).SetCellValue("委托单位");
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(1).SetCellValue(tbTitle.Rows[0]["TrustUnit"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(4).SetCellValue("焊接方法");
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(6).SetCellValue(tbTitle.Rows[0]["WeldingMethodCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(8).SetCellValue("合格级别");
|
||||
region = new CellRangeAddress(rowIndex + 6, rowIndex + 6, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 6).GetCell(11).SetCellValue(tbTitle.Rows[0]["QueClass"].ToString());
|
||||
|
||||
//行7
|
||||
ws.GetRow(rowIndex + 7).GetCell(0).SetCellValue("检测方法");
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(1).SetCellValue(detectionTypeCode);
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(4).SetCellValue("坡口形式");
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(6).SetCellValue(tbTitle.Rows[0]["GrooveTypeCode"].ToString());
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(8).SetCellValue("检测比例");
|
||||
region = new CellRangeAddress(rowIndex + 7, rowIndex + 7, 11, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 7).GetCell(11).SetCellValue(tbTitle.Rows[0]["DetectionRateCode"].ToString());
|
||||
|
||||
//11-7=4
|
||||
|
||||
//行8
|
||||
ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue("序号");
|
||||
region = new CellRangeAddress(rowIndex + 8, rowIndex + 8, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 8).GetCell(1).SetCellValue("管道编号/单线号");
|
||||
region = new CellRangeAddress(rowIndex + 8, rowIndex + 8, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 8).GetCell(4).SetCellValue("焊口号");
|
||||
region = new CellRangeAddress(rowIndex + 8, rowIndex + 8, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 8).GetCell(6).SetCellValue("焊工号");
|
||||
|
||||
region = new CellRangeAddress(rowIndex + 8, rowIndex + 8, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
ws.GetRow(rowIndex + 8).GetCell(11).SetCellValue("检件规格");
|
||||
ws.GetRow(rowIndex + 8).GetCell(8).SetCellValue("检件材质");
|
||||
ws.GetRow(rowIndex + 8).GetCell(12).SetCellValue("备注");
|
||||
|
||||
#endregion
|
||||
|
||||
#region 表格
|
||||
ws = WsExcelCreateRow(ws, hssfworkbook, rowIndex + 9, rowIndex + 24, style, 0, 12, 2);
|
||||
var dataTit = rowIndex + 9;
|
||||
var tIndex = 8 + 14;
|
||||
var dStart = 0;
|
||||
var dEnd = 0;
|
||||
if (i == 1)
|
||||
{
|
||||
dStart = 0;
|
||||
dEnd = 14;
|
||||
}
|
||||
else
|
||||
{
|
||||
dStart = i == 2 ? 14 : ((i - 2) * 14) + 14;
|
||||
dEnd = ((i - 1) * 14) + 14;
|
||||
}
|
||||
|
||||
//合并单元格
|
||||
for (int hb = dataTit; hb <= rowIndex + tIndex; hb++)
|
||||
{
|
||||
region = new CellRangeAddress(hb, hb, 1, 3);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 4, 5);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 6, 7);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 8, 10);
|
||||
ws.AddMergedRegion(region);
|
||||
}
|
||||
//获取当前页数据
|
||||
var pageTb = GetPageToTable(tb, dStart, dEnd);
|
||||
for (int j = 0; j < pageTb.Rows.Count; j++)
|
||||
{
|
||||
int dataIndex = dataTit + j;
|
||||
|
||||
//序号
|
||||
ws.GetRow(dataIndex).GetCell(0).SetCellValue(pageTb.Rows[j]["Number"].ToString());
|
||||
//检件编号
|
||||
ws.GetRow(dataIndex).GetCell(1).SetCellValue(pageTb.Rows[j]["PipelineCode"].ToString());
|
||||
|
||||
//焊口号
|
||||
ws.GetRow(dataIndex).GetCell(4).SetCellValue(pageTb.Rows[j]["WeldJointCode"].ToString());
|
||||
//焊工代号
|
||||
ws.GetRow(dataIndex).GetCell(6).SetCellValue(pageTb.Rows[j]["WelderCode"].ToString());
|
||||
//检件材质
|
||||
ws.GetRow(dataIndex).GetCell(8).SetCellValue(pageTb.Rows[j]["Specification"].ToString());
|
||||
//检件规格(mm)
|
||||
ws.GetRow(dataIndex).GetCell(11).SetCellValue(pageTb.Rows[j]["MaterialCode"].ToString());
|
||||
//备注
|
||||
ws.GetRow(dataIndex).GetCell(12).SetCellValue(pageTb.Rows[j]["Remark"].ToString());
|
||||
}
|
||||
if (dataTit + pageTb.Rows.Count < 26)
|
||||
{
|
||||
ws.GetRow(dataTit + pageTb.Rows.Count).GetCell(1).SetCellValue("以下空白");
|
||||
}
|
||||
|
||||
rowIndex += tIndex;
|
||||
|
||||
#endregion
|
||||
|
||||
#region 尾部
|
||||
ws = WsExcelCreateRow(ws, hssfworkbook, rowIndex + 1, rowIndex + 8, style, 0, 12, 3);
|
||||
//合并单元格
|
||||
for (int hb = rowIndex + 1; hb <= rowIndex + 9; hb++)
|
||||
{
|
||||
for (int c = 0; c <= 12; c++)
|
||||
{
|
||||
if (hb >= rowIndex + 1 && hb <= rowIndex + 5)
|
||||
{
|
||||
ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Left, 10.5, true, false);
|
||||
}
|
||||
if (hb == rowIndex + 6 || hb == rowIndex + 7 )
|
||||
{
|
||||
ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Right, 10.5, true, false);
|
||||
}
|
||||
if (hb == rowIndex + 8)
|
||||
{
|
||||
ws.GetRow(hb).GetCell(c).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.None, VerticalAlignment.Center, HorizontalAlignment.Right, 10.5, true, false);
|
||||
}
|
||||
}
|
||||
region = new CellRangeAddress(hb, hb, 0, 4);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 5, 9);
|
||||
ws.AddMergedRegion(region);
|
||||
region = new CellRangeAddress(hb, hb, 10, 12);
|
||||
ws.AddMergedRegion(region);
|
||||
}
|
||||
//尾部行1
|
||||
//尾部行2
|
||||
ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("管理公司/监理单位:");
|
||||
ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("检测单位:");
|
||||
ws.GetRow(rowIndex + 1).GetCell(10).SetCellValue("总承包单位:");
|
||||
|
||||
//尾部行8
|
||||
ws.GetRow(rowIndex + 8).GetCell(0).SetCellValue(" 年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(5).SetCellValue(" 年 月 日");
|
||||
ws.GetRow(rowIndex + 8).GetCell(10).SetCellValue(" 年 月 日");
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
ws = WsExcelCreateRow(ws, hssfworkbook, rowIndex + 9, rowIndex + 9, style, 0, 12, 3, true);
|
||||
rowIndex += 10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ws.SetMargin(MarginType.LeftMargin, 0.3);
|
||||
ws.SetMargin(MarginType.RightMargin, 0.2);
|
||||
ws.SetMargin(MarginType.BottomMargin, 0.4);
|
||||
if (detectionTypeCode.Trim() == "PMI")
|
||||
{
|
||||
ws.PrintSetup.Landscape = true;
|
||||
}
|
||||
//ws.PrintSetup.Landscape = true;
|
||||
ws.PrintSetup.PaperSize = 9;
|
||||
ws.ForceFormulaRecalculation = true;
|
||||
|
||||
using (FileStream filess = System.IO.File.OpenWrite(ReportFileName))
|
||||
{
|
||||
hssfworkbook.Write(filess);
|
||||
}
|
||||
FileInfo filet = new FileInfo(ReportFileName);
|
||||
Response.Clear();
|
||||
Response.Charset = "GB2312";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(trustBatchCode + ".xlsx"));
|
||||
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||||
Response.AddHeader("Content-Length", filet.Length.ToString());
|
||||
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||||
Response.ContentType = "application/ms-excel";
|
||||
// 把文件流发送到客户端
|
||||
Response.WriteFile(filet.FullName);
|
||||
// 停止页面的执行
|
||||
Response.End();
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
|
||||
}
|
||||
}
|
||||
|
||||
#region 私有方法
|
||||
|
||||
/// <summary>
|
||||
|
|
Loading…
Reference in New Issue