|
|
@@ -132,6 +132,31 @@ namespace UAS_LabelMachine
|
|
|
return filePath;
|
|
|
}
|
|
|
|
|
|
+ public string HETONGGUANGDIAN(DataTable firstsdt, DataTable dt, string FolderPath, string FileName, string Type, int PageSize, List<CheckBox> conditionbox)
|
|
|
+ {
|
|
|
+ //创建一个内存流,用来接收转换成Excel的内容
|
|
|
+ MemoryStream ms;
|
|
|
+ ms = HETONGGUANGDIAN(firstsdt, dt, Type, FileName, PageSize, conditionbox);
|
|
|
+ //以系统当前时间命名文件,FileMode.Create表示创建文件,FileAccess.Write表示拥有写的权限
|
|
|
+ string filePath = @FolderPath + "\\" + FileName + ".xls";
|
|
|
+ int counter = 1;
|
|
|
+ string filename = FileName + ".xls";
|
|
|
+ while (File.Exists(filePath))
|
|
|
+ {
|
|
|
+ filename = string.Format("{0}({1}){2}", FileName, counter, ".xls"); //文件名+(count)+后缀
|
|
|
+ filePath = Path.Combine(FolderPath, filename); //保存路径
|
|
|
+ counter++; //count+1
|
|
|
+ }
|
|
|
+ FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
|
|
|
+ byte[] data = ms.ToArray();
|
|
|
+ fs.Write(data, 0, data.Length);
|
|
|
+ fs.Flush();
|
|
|
+ //释放当前Excel文件,否则打开文件的时候会显示文件被占用
|
|
|
+ ms.Dispose();
|
|
|
+ fs.Dispose();
|
|
|
+ return filePath;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 导入Excel
|
|
|
/// </summary>
|
|
|
@@ -755,7 +780,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
for (int k = 0; k < PercentSum.Count; k++)
|
|
|
@@ -1074,7 +1099,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
for (int k = 0; k < PercentSum.Count; k++)
|
|
|
@@ -1130,7 +1155,7 @@ namespace UAS_LabelMachine
|
|
|
{
|
|
|
if (ShowCountIndex == SplitBatchIndex)
|
|
|
{
|
|
|
- row1.CreateCell(j+1);
|
|
|
+ row1.CreateCell(j + 1);
|
|
|
row1.Cells[j + 1].SetCellValue(sumCount);
|
|
|
row1.Cells[j + 1].CellStyle = styleborder;
|
|
|
}
|
|
|
@@ -1396,7 +1421,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
for (int k = 0; k < PercentSum.Count; k++)
|
|
|
@@ -2136,7 +2161,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
}
|
|
|
@@ -2418,7 +2443,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
}
|
|
|
@@ -2692,7 +2717,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
}
|
|
|
@@ -3423,7 +3448,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
}
|
|
|
@@ -3775,7 +3800,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
}
|
|
|
@@ -3820,7 +3845,7 @@ namespace UAS_LabelMachine
|
|
|
}
|
|
|
else if (j == ShowPieceIndex)
|
|
|
{
|
|
|
- row1.Cells[ShowPieceIndex].SetCellValue(PageNum+1);
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum + 1);
|
|
|
row1.Cells[j].CellStyle = styleborder;
|
|
|
}
|
|
|
else if (j == ShowCountIndex)
|
|
|
@@ -3845,7 +3870,7 @@ namespace UAS_LabelMachine
|
|
|
}
|
|
|
else if (j == ShowPieceIndex)
|
|
|
{
|
|
|
- row1.Cells[ShowPieceIndex].SetCellValue(PageNum+1);
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum + 1);
|
|
|
row1.Cells[j].CellStyle = styleborder;
|
|
|
}
|
|
|
else if (j == ShowCountIndex)
|
|
|
@@ -4109,7 +4134,7 @@ namespace UAS_LabelMachine
|
|
|
else
|
|
|
{
|
|
|
double Num = 0;
|
|
|
- if (double.TryParse(Data, out Num)&& DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
{
|
|
|
row1.Cells[j - 4].SetCellValue(Num);
|
|
|
}
|
|
|
@@ -4783,5 +4808,1794 @@ namespace UAS_LabelMachine
|
|
|
book.Write(ms);
|
|
|
return ms;
|
|
|
}
|
|
|
+ private MemoryStream HETONGGUANGDIAN(DataTable FirstDT, DataTable DataTable, string Type, string Inoutno, int PageSize, List<CheckBox> conditionbox)
|
|
|
+ {
|
|
|
+ string 小计 = "";
|
|
|
+ string 批小计 = "";
|
|
|
+ string 总计 = "";
|
|
|
+ string 片 = "";
|
|
|
+ string companyname = "";
|
|
|
+ int ShowBoxIndex = 0;
|
|
|
+ //用于小计的盒号
|
|
|
+ string LastBox = "";
|
|
|
+ if (dh.getFieldDataByCondition("ProdInout", "pi_exporttype", "pi_inoutno='" + Inoutno + "'").ToString() == "Chinese")
|
|
|
+ {
|
|
|
+ 小计 = "小计";
|
|
|
+ 总计 = "总计";
|
|
|
+ 批小计 = "批小计";
|
|
|
+ 片 = "片";
|
|
|
+ companyname = "深爱半导体股份有限公司芯片出货清单";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ 批小计 = "BatchTotal";
|
|
|
+ 小计 = "total";
|
|
|
+ 总计 = "total";
|
|
|
+ companyname = "SHENZHEN SI SEMICONDUCTORS CO.,LTD";
|
|
|
+ }
|
|
|
+ //转换为序列
|
|
|
+ CheckBox[] box = conditionbox.ToArray();
|
|
|
+ //创建内存流
|
|
|
+ MemoryStream ms = new MemoryStream();
|
|
|
+ //创建一个Book,相当于一个Excel文件
|
|
|
+ HSSFWorkbook book = new HSSFWorkbook();
|
|
|
+ //Excel中的Sheet
|
|
|
+ ISheet sheet = book.CreateSheet("分页");
|
|
|
+ sheet.SetMargin(MarginType.TopMargin, 0.4);
|
|
|
+ sheet.SetMargin(MarginType.BottomMargin, 0.4);
|
|
|
+ sheet.SetMargin(MarginType.LeftMargin, 0.4);
|
|
|
+ sheet.SetMargin(MarginType.RightMargin, 0.4);
|
|
|
+ sheet.FitToPage = true;
|
|
|
+ sheet.PrintSetup.FitHeight = 200;
|
|
|
+ //芯片号需要作为更新盒号的条件
|
|
|
+ HSSFFont ffont = (HSSFFont)book.CreateFont();
|
|
|
+ ffont.FontName = "宋体";
|
|
|
+ //更新箱号
|
|
|
+ List<string> pib_id = new List<string>();
|
|
|
+ //系统打印箱号
|
|
|
+ List<string> pib_outboxcode1 = new List<string>();
|
|
|
+ int BoxCode = 1;
|
|
|
+ ICellStyle style = book.CreateCellStyle();
|
|
|
+ style.VerticalAlignment = VerticalAlignment.Center;
|
|
|
+ style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Left;
|
|
|
+ style.SetFont(ffont);
|
|
|
+ ICellStyle styleborder = book.CreateCellStyle();
|
|
|
+ styleborder.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
|
|
|
+ styleborder.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
|
|
|
+ styleborder.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
|
|
|
+ styleborder.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
|
|
|
+ styleborder.VerticalAlignment = VerticalAlignment.Center;
|
|
|
+ styleborder.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Left;
|
|
|
+ styleborder.SetFont(ffont);
|
|
|
+ string pi_inoutno = "";
|
|
|
+ HSSFFont ColumnTitle = (HSSFFont)book.CreateFont();
|
|
|
+ ColumnTitle.FontName = "宋体";
|
|
|
+ ColumnTitle.Boldweight = (short)FontBoldWeight.Bold;
|
|
|
+
|
|
|
+ ICellStyle ColumnTitleStyle = book.CreateCellStyle();
|
|
|
+ ColumnTitleStyle.SetFont(ColumnTitle);
|
|
|
+
|
|
|
+ ColumnTitleStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
|
|
|
+ ColumnTitleStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
|
|
|
+ ColumnTitleStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
|
|
|
+ ColumnTitleStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
|
|
|
+
|
|
|
+ List<string> NotShowColumn = new List<string>();
|
|
|
+ NotShowColumn.Add("ch_level");
|
|
|
+ NotShowColumn.Add("pib_id");
|
|
|
+ NotShowColumn.Add("chw_itemname1");
|
|
|
+ NotShowColumn.Add("chw_itemname2");
|
|
|
+ NotShowColumn.Add("chw_itemname3");
|
|
|
+ NotShowColumn.Add("chw_itemname4");
|
|
|
+ NotShowColumn.Add("chw_itemname5");
|
|
|
+ NotShowColumn.Add("pd_ordercode");
|
|
|
+ NotShowColumn.Add("pr_size");
|
|
|
+ NotShowColumn.Add("me_desc");
|
|
|
+ NotShowColumn.Add("pr_orispeccode");
|
|
|
+ NotShowColumn.Add("pr_orispeccode1");
|
|
|
+ NotShowColumn.Add("pi_title");
|
|
|
+ NotShowColumn.Add("pi_chipouttype");
|
|
|
+ NotShowColumn.Add("pi_date");
|
|
|
+
|
|
|
+ int ShowColumnCount = 0;
|
|
|
+ //展示的内容列
|
|
|
+ //设置列的宽度,根据首行的列的内容的长度来设置
|
|
|
+ for (int i = DataTable.Columns.Count - 1; i > 0; i--)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < box.Length; j++)
|
|
|
+ {
|
|
|
+ if (box[j].Name.ToLower() == "ch_bluefilm" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[i].ColumnName.ToLower().Contains("ch_bluefilm"))
|
|
|
+ {
|
|
|
+ DataTable.Columns.RemoveAt(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name.ToLower() == "ch_code" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[i].ColumnName.ToLower().Contains("ch_code"))
|
|
|
+ {
|
|
|
+ DataTable.Columns.RemoveAt(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name.ToLower() == "ch_splitbatch" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[i].ColumnName.ToLower().Contains("ch_splitbatch"))
|
|
|
+ {
|
|
|
+ DataTable.Columns.RemoveAt(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name.ToLower() == "ch_waterid" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[i].ColumnName.ToLower().Contains("ch_waterid"))
|
|
|
+ {
|
|
|
+ DataTable.Columns.RemoveAt(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name.ToLower() == "ch_pbcode" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[i].ColumnName.ToLower().Contains("ch_pbcode"))
|
|
|
+ {
|
|
|
+ DataTable.Columns.RemoveAt(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name.ToLower() == "ch_remark" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[i].ColumnName.ToLower().Contains("ch_remark"))
|
|
|
+ {
|
|
|
+ DataTable.Columns.RemoveAt(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name.ToLower() == "ch_yield" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[i].ColumnName.ToLower().Contains("ch_yield"))
|
|
|
+ {
|
|
|
+ DataTable.Columns.RemoveAt(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取行数量和列数量
|
|
|
+ int rowNum = DataTable.Rows.Count;
|
|
|
+ int columnNum = DataTable.Columns.Count;
|
|
|
+ //首先画好第一行带颜色的,单独写出来,避免写在循环里面
|
|
|
+ IRow row = sheet.CreateRow(0);
|
|
|
+ //冻结第一行
|
|
|
+ sheet.CreateFreezePane(0, 1, 0, 1);
|
|
|
+
|
|
|
+ row.HeightInPoints = RowHeight;
|
|
|
+ //固定第一行
|
|
|
+ //row.RowStyle.IsLocked=true;
|
|
|
+ //给第一行的标签赋值样式和值
|
|
|
+ // ffont.FontHeight = 13;
|
|
|
+ row.CreateCell(0);
|
|
|
+ row.Cells[0].SetCellValue(" " + companyname);
|
|
|
+
|
|
|
+ row.GetCell(0).CellStyle.SetFont((ffont));
|
|
|
+ //ffont.FontHeight = 10;
|
|
|
+ //开始绘制的Index
|
|
|
+ int PaintIndex = 1;
|
|
|
+ int sumCount = 0;
|
|
|
+ int totalCount = 0;
|
|
|
+ switch (Type)
|
|
|
+ {
|
|
|
+ case "FixRow":
|
|
|
+ //清理系统取出来的数据
|
|
|
+ BaseUtil.CleanDataTableData(FirstDT);
|
|
|
+ //首页参数拼接
|
|
|
+ string First_OrderCode = "";
|
|
|
+ string First_Prspec = "";
|
|
|
+ string First_Batch = "";
|
|
|
+ int NumIndex = 0;
|
|
|
+ ArrayList<string> First_WID = new ArrayList<string>();
|
|
|
+ for (int i = 0; i < rowNum; i++)
|
|
|
+ {
|
|
|
+ IRow row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ row1.HeightInPoints = RowHeight;
|
|
|
+ //不包含的订单号
|
|
|
+ if (DataTable.Columns.Contains("pd_ordercode") && !First_OrderCode.Contains(DataTable.Rows[i]["pd_ordercode"].ToString()))
|
|
|
+ {
|
|
|
+ First_OrderCode += DataTable.Rows[i]["pd_ordercode"].ToString() + " ";
|
|
|
+ }
|
|
|
+ //不包含的物料型号
|
|
|
+ if (DataTable.Columns.Contains("pr_orispeccode") && !First_Prspec.Contains(DataTable.Rows[i]["pr_orispeccode"].ToString()))
|
|
|
+ {
|
|
|
+ First_Prspec += DataTable.Rows[i]["pr_orispeccode"].ToString() + " ";
|
|
|
+ }
|
|
|
+ //不包含扩撒批号
|
|
|
+ if (DataTable.Columns.Contains("ch_splitbatch") && !First_Batch.Contains(DataTable.Rows[i]["ch_splitbatch"].ToString()))
|
|
|
+ {
|
|
|
+ First_Batch += DataTable.Rows[i]["ch_splitbatch"].ToString() + " ";
|
|
|
+ }
|
|
|
+ //不包含Wafer_id
|
|
|
+ if (DataTable.Columns.Contains("Wafer_ID") && !First_WID.Contains(DataTable.Rows[i]["Wafer_ID"].ToString()))
|
|
|
+ {
|
|
|
+ First_WID.Add(DataTable.Rows[i]["Wafer_ID"].ToString());
|
|
|
+ }
|
|
|
+ if (i / PageSize >= 1 && i % PageSize == 0)
|
|
|
+ {
|
|
|
+ DataRow dr = FirstDT.NewRow();
|
|
|
+ dr["me_desc"] = DataTable.Rows[i]["me_desc"].ToString();
|
|
|
+ dr["pr_size"] = DataTable.Rows[i]["pr_size"].ToString();
|
|
|
+ dr["pi_chipouttype"] = DataTable.Rows[i]["pi_chipouttype"].ToString();
|
|
|
+ dr["ch_level"] = DataTable.Rows[i]["ch_level"].ToString();
|
|
|
+ dr["pr_orispeccode"] = DataTable.Rows[i]["pr_orispeccode"].ToString();
|
|
|
+ dr["pi_inoutno"] = DataTable.Rows[i]["pi_inoutno"].ToString();
|
|
|
+ pi_inoutno = DataTable.Rows[i]["pi_inoutno"].ToString();
|
|
|
+ dr["pi_title"] = DataTable.Rows[i]["pi_title"].ToString();
|
|
|
+ dr["pi_date"] = DataTable.Rows[i]["pi_date"].ToString();
|
|
|
+ dr["pd_ordercode"] = First_OrderCode;
|
|
|
+ dr["pr_orispeccode"] = First_Prspec;
|
|
|
+ dr["ch_splitbatch"] = First_Batch;
|
|
|
+ dr["ch_waterid"] = BaseUtil.GetArrStr(First_WID, " ");
|
|
|
+ dr["num"] = PageSize;
|
|
|
+ dr["io_qty"] = sumCount;
|
|
|
+ FirstDT.Rows.Add(dr);
|
|
|
+ First_OrderCode = "";
|
|
|
+ First_Prspec = "";
|
|
|
+ First_Batch = "";
|
|
|
+ First_WID.Clear();
|
|
|
+ BoxCode = BoxCode + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(批小计);
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue((i % PageSize == 0 ? PageSize : i));
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(小计);
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue((i % PageSize == 0 ? PageSize : i));
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ sumCount = 0;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ sheet.SetRowBreak(PaintIndex - 1);
|
|
|
+ sheet.Footer.Center = "第&P页,共&N页";
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ }
|
|
|
+ //每次到了页数开始分页
|
|
|
+ if (i % PageSize == 0 || i == rowNum - 1)
|
|
|
+ {
|
|
|
+ //第一行添加客户信息 rownum只有一行的情
|
|
|
+ if (i != rowNum - 1 || rowNum == 1 || (rowNum - i == rowNum % PageSize))
|
|
|
+ {
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_title"].Caption + ":" + DataTable.Rows[i]["pi_title"].ToString() + " "
|
|
|
+ + DataTable.Columns["ch_level"].Caption + ":" + DataTable.Rows[i]["ch_level"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == 5)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_date"].Caption + ":" + DataTable.Rows[i]["pi_date"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowDataIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_inoutno"].Caption + ":" + DataTable.Rows[i]["pi_inoutno"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.GetCell(j).CellStyle = style;
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ //第二行添加型号
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pr_orispeccode"].Caption + ":" + DataTable.Rows[i]["pr_orispeccode"].ToString()
|
|
|
+ + "_(" + DataTable.Rows[i]["me_desc"].ToString() + ") " + DataTable.Columns["pi_chipouttype"].Caption + ":" + DataTable.Rows[i]["pi_chipouttype"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowDataIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pr_size"].Caption + ":" + DataTable.Rows[i]["pr_size"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.GetCell(j).CellStyle = style;
|
|
|
+ }
|
|
|
+ //添加列名
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ //计数列所在的索引
|
|
|
+ int showcount = 0;
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname1"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname2"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent3")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname3"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent4")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname4"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent5")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname5"].ToString());
|
|
|
+ }
|
|
|
+ else if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower().ToString() == "ch_pbcode")
|
|
|
+ {
|
|
|
+ ShowBoxIndex = j;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToString() == "io_qty")
|
|
|
+ {
|
|
|
+ NumIndex = j;
|
|
|
+ if (ShowCountIndex == NumIndex - 4)
|
|
|
+ {
|
|
|
+ ShowCountIndex = ShowCountIndex + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ShowColumnCount = showcount;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加数据内容
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ string Data = DataTable.Rows[i][j].ToString();
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "ch_bluefilm")
|
|
|
+ {
|
|
|
+ row1.CreateCell(j - 4, CellType.String);
|
|
|
+ }
|
|
|
+ if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ double Num = 0;
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(Num);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(Data);
|
|
|
+ }
|
|
|
+ row1.GetCell(j - 4).CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "io_qty")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(int.Parse(Data));
|
|
|
+ sumCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ totalCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ row1.Cells[j - 4].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "rownum")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(i + 1);
|
|
|
+ row1.Cells[j - 4].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "ch_code")
|
|
|
+ {
|
|
|
+ sheet.AutoSizeColumn(j - 4);
|
|
|
+ sheet.SetColumnWidth(j - 4, sheet.GetColumnWidth(j - 4) + 1000);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "ch_pbcode")
|
|
|
+ {
|
|
|
+ LastBox = Data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //固定行号分组的时候自动拼接新的DataTable
|
|
|
+ if (i == rowNum - 1)
|
|
|
+ {
|
|
|
+ DataRow dr = FirstDT.NewRow();
|
|
|
+ dr["me_desc"] = DataTable.Rows[i]["me_desc"].ToString();
|
|
|
+ dr["pr_size"] = DataTable.Rows[i]["pr_size"].ToString();
|
|
|
+ dr["pi_chipouttype"] = DataTable.Rows[i]["pi_chipouttype"].ToString();
|
|
|
+ dr["ch_level"] = DataTable.Rows[i]["ch_level"].ToString();
|
|
|
+ dr["pr_orispeccode"] = DataTable.Rows[i]["pr_orispeccode"].ToString();
|
|
|
+ dr["pi_inoutno"] = DataTable.Rows[i]["pi_inoutno"].ToString();
|
|
|
+ dr["pi_title"] = DataTable.Rows[i]["pi_title"].ToString();
|
|
|
+ dr["pi_date"] = DataTable.Rows[i]["pi_date"].ToString();
|
|
|
+ dr["pd_ordercode"] = First_OrderCode;
|
|
|
+ dr["pr_orispeccode"] = First_Prspec;
|
|
|
+ dr["ch_splitbatch"] = First_Batch;
|
|
|
+ dr["ch_waterid"] = BaseUtil.GetArrStr(First_WID, " ");
|
|
|
+ dr["num"] = (i % PageSize) + 1;
|
|
|
+ dr["io_qty"] = sumCount;
|
|
|
+ FirstDT.Rows.Add(dr);
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(批小计);
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue((rowNum % PageSize == 0 ? PageSize : (rowNum % PageSize)));
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ }
|
|
|
+
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(小计);
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(rowNum % PageSize);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ }
|
|
|
+
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue("备注");
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(totalCount);
|
|
|
+ }
|
|
|
+ else if (j == ShowRemarkPiece)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(rowNum + 片);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.Cells[j].CellStyle = style;
|
|
|
+ }
|
|
|
+ sheet.SetRowBreak(PaintIndex);
|
|
|
+ sheet.Footer.Center = "第&P页,共&N页";
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ }
|
|
|
+ pib_id.Add(DataTable.Rows[i]["pib_id"].ToString());
|
|
|
+ pib_outboxcode1.Add(BoxCode.ToString());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "BatchCode":
|
|
|
+ string LastBatchCode = "";
|
|
|
+ int PageNum = 0;
|
|
|
+ for (int i = 0; i < rowNum; i++)
|
|
|
+ {
|
|
|
+ IRow row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ row1.HeightInPoints = RowHeight;
|
|
|
+ //如果批号不相等的时候
|
|
|
+ if (LastBatchCode != "" && LastBatchCode != DataTable.Rows[i]["ch_splitbatch"].ToString())
|
|
|
+ {
|
|
|
+ BoxCode = BoxCode + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(批小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sumCount = 0;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ sheet.SetRowBreak(PaintIndex - 1);
|
|
|
+ sheet.Footer.Center = "第&P页,共&N页";
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ PageNum = 0;
|
|
|
+ }
|
|
|
+ //每次到了页数开始分页
|
|
|
+ if (LastBatchCode == "" || (LastBatchCode != "" && LastBatchCode != DataTable.Rows[i]["ch_splitbatch"].ToString()) || (i == rowNum - 1 && (LastBatchCode != "" && LastBatchCode != DataTable.Rows[i]["ch_splitbatch"].ToString())))
|
|
|
+ {
|
|
|
+ Console.WriteLine(DataTable.Rows[i]["ch_splitbatch"].ToString());
|
|
|
+ LastBatchCode = DataTable.Rows[i]["ch_splitbatch"].ToString();
|
|
|
+ //第一行添加客户信息
|
|
|
+ //if (i != rowNum - 1)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_title"].Caption + ":" + DataTable.Rows[i]["pi_title"].ToString() + " "
|
|
|
+ + DataTable.Columns["ch_level"].Caption + ":" + DataTable.Rows[i]["ch_level"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowDataIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_inoutno"].Caption + ":" + DataTable.Rows[i]["pi_inoutno"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.GetCell(j).CellStyle = style;
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ //第二行添加型号
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pr_orispeccode"].Caption + ":" + DataTable.Rows[i]["pr_orispeccode"].ToString() + "_"
|
|
|
+ + "(" + DataTable.Rows[i]["me_desc"].ToString() + ") " + DataTable.Columns["pi_chipouttype"].Caption + ":" + DataTable.Rows[i]["pi_chipouttype"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowSizeIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pr_size"].Caption + ":" + DataTable.Rows[i]["pr_size"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowDataIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_date"].Caption + ":" + DataTable.Rows[i]["pi_date"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.GetCell(j).CellStyle = style;
|
|
|
+ }
|
|
|
+ //添加列名
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ int showcount = 0;
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname1"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname2"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent3")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname3"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent4")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname4"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent5")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname5"].ToString());
|
|
|
+ }
|
|
|
+ else if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower().ToString() == "ch_pbcode")
|
|
|
+ {
|
|
|
+ ShowBoxIndex = j;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToString() == "io_qty")
|
|
|
+ {
|
|
|
+ NumIndex = j;
|
|
|
+ if (ShowCountIndex == NumIndex - 4)
|
|
|
+ {
|
|
|
+ ShowCountIndex = ShowCountIndex + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ShowColumnCount = showcount;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加数据内容
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ string Data = DataTable.Rows[i][j].ToString();
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "ch_bluefilm")
|
|
|
+ {
|
|
|
+ row1.CreateCell(j - 4, CellType.String);
|
|
|
+ }
|
|
|
+ if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ double Num = 0;
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(Num);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(Data);
|
|
|
+ }
|
|
|
+ row1.Cells[j - 4].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "io_qty")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(int.Parse(Data));
|
|
|
+ sumCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ totalCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "rownum")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(i + 1);
|
|
|
+ row1.Cells[j - 4].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "ch_code")
|
|
|
+ {
|
|
|
+ sheet.AutoSizeColumn(j - 4);
|
|
|
+ sheet.SetColumnWidth(j - 4, sheet.GetColumnWidth(j - 4) + 1000);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "ch_pbcode")
|
|
|
+ {
|
|
|
+ LastBox = Data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (i == rowNum - 1)
|
|
|
+ {
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(批小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum + 1);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum + 1);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //创建备注内容
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue("备注");
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(totalCount);
|
|
|
+ }
|
|
|
+ else if (j == ShowRemarkPiece)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(rowNum + 片);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.Cells[j].CellStyle = style;
|
|
|
+ }
|
|
|
+ sheet.SetRowBreak(PaintIndex);
|
|
|
+ sheet.Footer.Center = "第&P页,共&N页";
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ PageNum = 0;
|
|
|
+ }
|
|
|
+ PageNum = PageNum + 1;
|
|
|
+ pib_id.Add(DataTable.Rows[i]["pib_id"].ToString());
|
|
|
+ pib_outboxcode1.Add(BoxCode.ToString());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "BoxCode":
|
|
|
+ string LastBoxCode = "";
|
|
|
+ int PageNum1 = 0;
|
|
|
+
|
|
|
+ for (int i = 0; i < rowNum; i++)
|
|
|
+ {
|
|
|
+ IRow row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ row1.HeightInPoints = RowHeight;
|
|
|
+ //如果批号不相等的时候
|
|
|
+ if (LastBoxCode != "" && LastBoxCode != DataTable.Rows[i]["CH_PBCODE"].ToString())
|
|
|
+ {
|
|
|
+ BoxCode = BoxCode + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(批小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum1);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum1);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sumCount = 0;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ sheet.SetRowBreak(PaintIndex - 1);
|
|
|
+ sheet.Footer.Center = "第&P页,共&N页";
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ PageNum1 = 0;
|
|
|
+ }
|
|
|
+ //每次到了页数开始分页
|
|
|
+ if (LastBoxCode == "" || (LastBoxCode != "" && LastBoxCode != DataTable.Rows[i]["ch_pbcode"].ToString()) || ((i == rowNum - 1) && (LastBoxCode != "" && LastBoxCode != DataTable.Rows[i]["ch_pbcode"].ToString())))
|
|
|
+ {
|
|
|
+ LastBoxCode = DataTable.Rows[i]["CH_PBCODE"].ToString();
|
|
|
+ //第一行添加客户信息
|
|
|
+ //if (i != rowNum - 1)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_title"].Caption + ":" + DataTable.Rows[i]["pi_title"].ToString() + " "
|
|
|
+ + DataTable.Columns["ch_level"].Caption + ":" + DataTable.Rows[i]["ch_level"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowDataIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_inoutno"].Caption + ":" + DataTable.Rows[i]["pi_inoutno"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.GetCell(j).CellStyle = style;
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ //第二行添加型号
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pr_orispeccode"].Caption + ":" + DataTable.Rows[i]["pr_orispeccode"].ToString() + "_"
|
|
|
+ + "(" + DataTable.Rows[i]["me_desc"].ToString() + ") " + DataTable.Columns["pi_chipouttype"].Caption + ":" + DataTable.Rows[i]["pi_chipouttype"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowSizeIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pr_size"].Caption + ":" + DataTable.Rows[i]["pr_size"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowDataIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_date"].Caption + ":" + DataTable.Rows[i]["pi_date"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加列名
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ int showcount = 0;
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname1"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname2"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent3")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname3"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent4")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname4"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent5")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname5"].ToString());
|
|
|
+ }
|
|
|
+ else if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower().ToString() == "ch_pbcode")
|
|
|
+ {
|
|
|
+ ShowBoxIndex = j;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToString() == "io_qty")
|
|
|
+ {
|
|
|
+ NumIndex = j;
|
|
|
+ if (ShowCountIndex == NumIndex - 4)
|
|
|
+ {
|
|
|
+ ShowCountIndex = ShowCountIndex + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ShowColumnCount = showcount;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加数据内容
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ string Data = DataTable.Rows[i][j].ToString();
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "ch_bluefilm")
|
|
|
+ {
|
|
|
+ row1.CreateCell(j - 4, CellType.String);
|
|
|
+ }
|
|
|
+ if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ double Num = 0;
|
|
|
+ if (double.TryParse(Data, out Num) && DataTable.Columns[j].ColumnName.ToLower() != "ch_bluefilm")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(Num);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(Data);
|
|
|
+ }
|
|
|
+ row1.Cells[j - 4].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "io_qty")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(int.Parse(Data));
|
|
|
+ sumCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ totalCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ row1.Cells[j - 4].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "rownum")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(i + 1);
|
|
|
+ row1.Cells[j - 4].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "ch_code")
|
|
|
+ {
|
|
|
+ sheet.AutoSizeColumn(j - 4);
|
|
|
+ sheet.SetColumnWidth(j - 4, sheet.GetColumnWidth(j - 4) + 1000);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "ch_pbcode")
|
|
|
+ {
|
|
|
+ LastBox = Data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (i == rowNum - 1)
|
|
|
+ {
|
|
|
+ PageNum1 = PageNum1 + 1;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(批小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum1);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum1);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue("备注");
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(totalCount);
|
|
|
+ }
|
|
|
+ else if (j == ShowRemarkPiece)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(rowNum + 片);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.Cells[j].CellStyle = style;
|
|
|
+ }
|
|
|
+ sheet.SetRowBreak(PaintIndex);
|
|
|
+ sheet.Footer.Center = "第&P页,共&N页";
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ PageNum1 = 0;
|
|
|
+ }
|
|
|
+ PageNum1 = PageNum1 + 1;
|
|
|
+ pib_id.Add(DataTable.Rows[i]["pib_id"].ToString());
|
|
|
+ pib_outboxcode1.Add(BoxCode.ToString());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "BoxSplit":
|
|
|
+ string LastBoxCode1 = "";
|
|
|
+ int PageNum2 = 0;
|
|
|
+ string LastBatch = "";
|
|
|
+ int MidCount = 0;
|
|
|
+ int SerialNum = 1;
|
|
|
+ for (int i = 0; i < rowNum; i++)
|
|
|
+ {
|
|
|
+ IRow row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ row1.HeightInPoints = RowHeight;
|
|
|
+ //如果批号不相等的时候
|
|
|
+ if (LastBatch == "" || (LastBatch != "" && LastBatch != DataTable.Rows[i]["ch_splitbatch"].ToString()))
|
|
|
+ {
|
|
|
+ LastBatch = DataTable.Rows[i]["ch_splitbatch"].ToString();
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j).SetCellValue(SerialNum - 1);
|
|
|
+ }
|
|
|
+ else if (j == 1)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j).SetCellValue("批小计");
|
|
|
+ }
|
|
|
+ else if (j == 2)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j).SetCellValue(MidCount);
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j).SetCellValue(LastBox);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ SerialNum = 1;
|
|
|
+ MidCount = 0;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ }
|
|
|
+ if (LastBoxCode1 != "" && LastBoxCode1 != DataTable.Rows[i]["CH_PBCODE"].ToString())
|
|
|
+ {
|
|
|
+ BoxCode = BoxCode + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 1)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[0].SetCellValue(PageNum2);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sumCount = 0;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ sheet.SetRowBreak(PaintIndex - 1);
|
|
|
+ sheet.Footer.Center = "第&P页,共&N页";
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ PageNum2 = 0;
|
|
|
+ }
|
|
|
+ //每次到了页数开始分页
|
|
|
+ if (LastBoxCode1 == "" || (LastBoxCode1 != "" && LastBoxCode1 != DataTable.Rows[i]["ch_pbcode"].ToString()) || ((i == rowNum - 1) && (LastBoxCode1 != "" && LastBoxCode1 != DataTable.Rows[i]["ch_pbcode"].ToString())))
|
|
|
+ {
|
|
|
+ LastBoxCode1 = DataTable.Rows[i]["CH_PBCODE"].ToString();
|
|
|
+ //第一行添加客户信息
|
|
|
+ //if (i != rowNum - 1)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_title"].Caption + ":" + DataTable.Rows[i]["pi_title"].ToString() + " "
|
|
|
+ + DataTable.Columns["ch_level"].Caption + ":" + DataTable.Rows[i]["ch_level"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowDataIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_inoutno"].Caption + ":" + DataTable.Rows[i]["pi_inoutno"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.GetCell(j).CellStyle = style;
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ //第二行添加型号
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pr_orispeccode"].Caption + ":" + DataTable.Rows[i]["pr_orispeccode"].ToString() + "_"
|
|
|
+ + "(" + DataTable.Rows[i]["me_desc"].ToString() + ") " + DataTable.Columns["pi_chipouttype"].Caption + ":" + DataTable.Rows[i]["pi_chipouttype"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowSizeIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pr_size"].Caption + ":" + DataTable.Rows[i]["pr_size"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowDataIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(DataTable.Columns["pi_date"].Caption + ":" + DataTable.Rows[i]["pi_date"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加列名
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ int showcount = 0;
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname1"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname2"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent3")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname3"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent4")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname4"].ToString());
|
|
|
+ }
|
|
|
+ else if (DataTable.Columns[j].ColumnName.ToLower() == "chw_percent5")
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Rows[0]["chw_itemname5"].ToString());
|
|
|
+ }
|
|
|
+ else if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ showcount = showcount + 1;
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ row1.Cells[j - 4].CellStyle = ColumnTitleStyle;
|
|
|
+ row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower().ToString() == "ch_pbcode")
|
|
|
+ {
|
|
|
+ ShowBoxIndex = j;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToString() == "io_qty")
|
|
|
+ {
|
|
|
+ NumIndex = j;
|
|
|
+ if (ShowCountIndex == NumIndex - 4)
|
|
|
+ {
|
|
|
+ ShowCountIndex = ShowCountIndex + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ShowColumnCount = showcount;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加数据内容
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ string Data = DataTable.Rows[i][j].ToString();
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "ch_bluefilm")
|
|
|
+ {
|
|
|
+ row1.CreateCell(j - 4, CellType.String);
|
|
|
+ }
|
|
|
+ if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(Data);
|
|
|
+ row1.GetCell(j - 4).CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "io_qty")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(int.Parse(Data));
|
|
|
+ sumCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ totalCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ MidCount += int.Parse(DataTable.Rows[i][j].ToString());
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "rownum")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(SerialNum);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName == "ch_code")
|
|
|
+ {
|
|
|
+ sheet.AutoSizeColumn(j - 4);
|
|
|
+ sheet.SetColumnWidth(j - 4, sheet.GetColumnWidth(j - 4) + 1000);
|
|
|
+ }
|
|
|
+ if (DataTable.Columns[j].ColumnName.ToLower() == "ch_pbcode")
|
|
|
+ {
|
|
|
+ LastBox = Data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (i == rowNum - 1)
|
|
|
+ {
|
|
|
+ PageNum2 = PageNum2 + 1;
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(批小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum2);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(小计);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowPieceIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[ShowPieceIndex].SetCellValue(PageNum2);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else if (j == ShowBoxIndex - 4)
|
|
|
+ {
|
|
|
+ row1.Cells[j].SetCellValue(LastBox);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row1 = sheet.CreateRow(PaintIndex);
|
|
|
+
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue("备注");
|
|
|
+ }
|
|
|
+ else if (j == ShowCountIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(totalCount);
|
|
|
+ }
|
|
|
+ else if (j == ShowRemarkPiece)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(rowNum + 片);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.Cells[j].CellStyle = style;
|
|
|
+ }
|
|
|
+ sheet.SetRowBreak(PaintIndex);
|
|
|
+ sheet.Footer.Center = "第&P页,共&N页";
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ PageNum1 = 0;
|
|
|
+ }
|
|
|
+ PageNum2 = PageNum2 + 1;
|
|
|
+ pib_id.Add(DataTable.Rows[i]["pib_id"].ToString());
|
|
|
+ pib_outboxcode1.Add(BoxCode.ToString());
|
|
|
+ SerialNum = SerialNum + 1;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ dh.BatchInsert("update prodiobarcode set pib_outboxcode1=:pib_outboxcode1 where pib_inoutno='" + Inoutno + "' and pib_id=:pib_id", new string[] { "pib_outboxcode1", "pib_id" }, pib_outboxcode1.ToArray(), pib_id.ToArray());
|
|
|
+ //删除下载链接再重新插入
|
|
|
+ HttpHandler.GenDownLoadLinK(Inoutno);
|
|
|
+ //填充首页
|
|
|
+ sumCount = 0;
|
|
|
+ totalCount = 0;
|
|
|
+ PaintIndex = 1;
|
|
|
+ ISheet sheet2 = book.CreateSheet("首页");
|
|
|
+ row = sheet2.CreateRow(0);
|
|
|
+ row.CreateCell(0);
|
|
|
+ row.Cells[0].SetCellValue(" " + companyname);
|
|
|
+ row.GetCell(0).CellStyle = style;
|
|
|
+ rowNum = FirstDT.Rows.Count;
|
|
|
+ //不需要显示的列移除
|
|
|
+ for (int i = FirstDT.Columns.Count - 1; i > 0; i--)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < box.Length; j++)
|
|
|
+ {
|
|
|
+ if (box[j].Name == "FirstPage_WID" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (FirstDT.Columns[i].ColumnName.ToLower().Contains("ch_waterid"))
|
|
|
+ {
|
|
|
+ FirstDT.Columns.RemoveAt(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name == "FirstPage_YIELD" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (FirstDT.Columns[i].ColumnName.ToLower().Contains("ch_yeild"))
|
|
|
+ {
|
|
|
+ FirstDT.Columns.RemoveAt(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name == "FirstPage_REMARK" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (FirstDT.Columns[i].ColumnName.ToLower().Contains("ch_remark"))
|
|
|
+ {
|
|
|
+ FirstDT.Columns.RemoveAt(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (box[j].Name == "FirstPage_BOXCODE" && !box[j].Checked)
|
|
|
+ {
|
|
|
+ if (FirstDT.Columns[i].ColumnName.ToLower().Contains("ch_pbcode"))
|
|
|
+ {
|
|
|
+ FirstDT.Columns.RemoveAt(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ columnNum = FirstDT.Columns.Count;
|
|
|
+ for (int i = 0; i < rowNum; i++)
|
|
|
+ {
|
|
|
+ IRow row1 = sheet2.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ row1.HeightInPoints = RowHeight;
|
|
|
+ //只需要绘制一行
|
|
|
+ if (i == 0)
|
|
|
+ {
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(FirstDT.Columns["pi_title"].Caption + ":" + FirstDT.Rows[i]["pi_title"].ToString() + " "
|
|
|
+ + FirstDT.Columns["ch_level"].Caption + ":" + FirstDT.Rows[i]["ch_level"].ToString());
|
|
|
+ }
|
|
|
+ else if (j > 5 && j == columnNum - 5)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(FirstDT.Columns["pi_inoutno"].Caption + ":" + FirstDT.Rows[i]["pi_inoutno"].ToString());
|
|
|
+ }
|
|
|
+ else if (columnNum > 5 && j == columnNum - 5)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(FirstDT.Columns["pi_inoutno"].Caption + ":" + FirstDT.Rows[i]["pi_inoutno"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.GetCell(j).CellStyle = style;
|
|
|
+ }
|
|
|
+ row1 = sheet2.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ //第二行添加型号
|
|
|
+ for (int j = 0; j < columnNum - 3; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j).SetCellValue(FirstDT.Columns["pr_orispeccode"].Caption + ":" + FirstDT.Rows[i]["pr_orispeccode"].ToString() + "_"
|
|
|
+ + "(" + FirstDT.Rows[i]["me_desc"].ToString() + ")" + FirstDT.Columns["pi_chipouttype"].Caption + ":" + FirstDT.Rows[i]["pi_chipouttype"].ToString());
|
|
|
+ }
|
|
|
+ else if (j == ShowSizeIndex)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(FirstDT.Columns["pr_size"].Caption + ":" + FirstDT.Rows[i]["pr_size"].ToString());
|
|
|
+ }
|
|
|
+ else if (j > 5 && j == columnNum - 5)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(FirstDT.Columns["pi_date"].Caption + ":" + FirstDT.Rows[i]["pi_date"].ToString());
|
|
|
+ }
|
|
|
+ else if (columnNum > 5 && j == columnNum - 5)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].SetCellValue(FirstDT.Columns["pi_date"].Caption + ":" + FirstDT.Rows[i]["pi_date"].ToString());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ }
|
|
|
+ row1.GetCell(j).CellStyle = style;
|
|
|
+ }
|
|
|
+ row1 = sheet2.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ //添加列名
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ if (NotShowColumn.Contains(FirstDT.Columns[j].ColumnName.ToLower()))
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].CellStyle = styleborder;
|
|
|
+ row1.Cells[j - 4].SetCellValue(FirstDT.Columns[j].Caption);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row1 = sheet2.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ }
|
|
|
+ //添加数据内容
|
|
|
+ ShowColumnCount = 0;
|
|
|
+ for (int j = 4; j < columnNum; j++)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j - 4);
|
|
|
+ if (FirstDT.Columns[j].ColumnName == "ch_bluefilm")
|
|
|
+ {
|
|
|
+ row1.CreateCell(j - 4, CellType.String);
|
|
|
+ }
|
|
|
+ if (!NotShowColumn.Contains(FirstDT.Columns[j].ColumnName.ToLower()))
|
|
|
+ {
|
|
|
+ string Data = FirstDT.Rows[i][j].ToString();
|
|
|
+ row1.Cells[j - 4].SetCellValue(Data);
|
|
|
+ row1.GetCell(j - 4).CellStyle = styleborder;
|
|
|
+ if (FirstDT.Columns[j].ColumnName == "num")
|
|
|
+ {
|
|
|
+ row1.Cells[j - 4].SetCellValue(int.Parse(Data));
|
|
|
+ sumCount += int.Parse(Data);
|
|
|
+ }
|
|
|
+ if (FirstDT.Columns[j].ColumnName == "io_qty")
|
|
|
+ {
|
|
|
+ totalCount += int.Parse(Data);
|
|
|
+ row1.Cells[j - 4].SetCellValue(int.Parse(Data));
|
|
|
+ }
|
|
|
+ ShowColumnCount = ShowColumnCount + 1;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //添加总计行
|
|
|
+ if (i == rowNum - 1)
|
|
|
+ {
|
|
|
+ row1 = sheet2.CreateRow(PaintIndex);
|
|
|
+ PaintIndex = PaintIndex + 1;
|
|
|
+ for (int j = 0; j < ShowColumnCount; j++)
|
|
|
+ {
|
|
|
+ if (j == 0)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ row1.Cells[j].SetCellValue(总计);
|
|
|
+ }
|
|
|
+ else if (j == ShowColumnCount - 2)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ row1.Cells[j].SetCellValue(sumCount);
|
|
|
+ }
|
|
|
+ else if (j == ShowColumnCount - 1)
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ row1.Cells[j].SetCellValue(totalCount);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ row1.CreateCell(j);
|
|
|
+ row1.Cells[j].CellStyle = styleborder;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //将book的内容写入内存流中返回
|
|
|
+ book.Write(ms);
|
|
|
+ return ms;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|