using (var package = new ExcelPackage(new FileInfo(excel保存地址)))
{ // 检查工作簿中是否存在同名的工作表
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
row位置 = 2;
int 上行号 = 2;
int 上行号2 = 2;
int 现在 = 1;
while (Sdr.Read())
{
for (int i = 0; i < Sdr.FieldCount; i++)
{
char letter = (char)('A' + i);
if (row位置 == 2)
{ worksheet.Cells[letter + 1.ToString()].Value = Sdr.GetName(i); }
worksheet.Cells[letter+ row位置.ToString()].Value = Sdr[i];
}
string 现在图号 = Sdr[1].ToString();
string 现在名称 = Sdr[2].ToString();
string 现在数字= Sdr[8].ToString();
if (row位置 != 2)
{
Debug.WriteLine("上行号:" + 上行号 + ",row位置:" + row位置);
Debug.WriteLine("上名称:" + 上名称 + ",现在名称:" + 现在名称);
Debug.WriteLine("现在图号:" + 现在图号 + ",上图号:" + 上图号 );
if ((现在图号 == 上图号)) {
{
string 范围 = "B" + 上行号 + ":" + "B" + (row位置);
Debug.WriteLine("范围:" + 范围);
worksheet.Cells[范围].Merge = true;
worksheet.Cells[范围].Style.VerticalAlignment = ExcelVerticalAlignment.Top;
worksheet.Cells[范围].Style.HorizontalAlignment = ExcelHorizontalAlignment.Left;
}
}
if(现在图号 == 上图号&&现在名称 == 上名称)
{ {
string 范围 = "C" + 上行号 + ":" + "C" + (row位置 );
worksheet.Cells[范围].Merge = true;
worksheet.Cells[范围].Style.VerticalAlignment = ExcelVerticalAlignment.Top;
worksheet.Cells[范围].Style.HorizontalAlignment = ExcelHorizontalAlignment.Left;
}
}
if (上数字 == 现在数字 && 上行号2 != 2)
{
{
string 范围 = "I" + 上行号2 + ":" + "I" + (row位置);
Debug.WriteLine("范围:" + 范围);
worksheet.Cells[范围].Merge = true;
worksheet.Cells[范围].Style.VerticalAlignment = ExcelVerticalAlignment.Top;
worksheet.Cells[范围].Style.HorizontalAlignment = ExcelHorizontalAlignment.Left;
worksheet.Cells[范围].Value = 现在;
}
}
if (现在名称 != 上名称) { 上行号 = row位置; }
if (上数字 != 现在数字) { 上行号2 = row位置; 现在++;
string 范围 = "I" + row位置 + ":" + "I" + (row位置);
worksheet.Cells[范围].Value = 现在;
worksheet.Cells[范围].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
worksheet.Cells[范围].Style.HorizontalAlignment = ExcelHorizontalAlignment.Left;
}
}
上图号 = 现在图号;
上名称 = 现在名称;
上数字 = 现在数字;
// 每条记录之间添加分隔,可选
row位置++;
}
if (row位置 == 2) {
return "";
}
worksheet.Cells["I1:I1"].Value = "";
worksheet.Cells["I2:I2"].Value = "1";
worksheet.Cells["I2:I2"].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
worksheet.Cells["I2:I2"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Left;
worksheet.Cells["A2:A"+ (row位置-1)].Merge = true;
worksheet.Cells["A2:A" + (row位置 -1)].Style.VerticalAlignment = ExcelVerticalAlignment.Top;
worksheet.Cells["A2:A" + (row位置 -1)].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
worksheet.Column(1).Width = 20;
worksheet.Column(2).Width = 18;
worksheet.Column(3).Width = 29;
worksheet.Column(4).Width = 5;
worksheet.Column(5).Width =12;
worksheet.Column(6).Width = 15;
worksheet.Column(7).Width = 7;
worksheet.Column(8).Width = 14;
worksheet.Column(9).Width = 3;
worksheet.Cells["A1:" + "I" + (row位置-1)].Style.Border.Top.Style = ExcelBorderStyle.Thin;
worksheet.Cells["A1:" + "I" + (row位置 -1)].Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
worksheet.Cells["A1:" + "I" + (row位置 -1)].Style.Border.Left.Style = ExcelBorderStyle.Thin;
worksheet.Cells["A1:" + "I" + (row位置 -1)].Style.Border.Right.Style = ExcelBorderStyle.Thin;
worksheet.InsertRow(1, 1);
worksheet.Cells["A1:H1"].Merge = true;
worksheet.Cells["A1:H1"].Value = 订单号+" "+工艺;
worksheet.Cells["A1:H1"].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
worksheet.Cells["A1:H1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
worksheet.Cells["A1:H1"].Style.Font.Size = 20;
worksheet.Row(1).Height = 30;
package.Save();
}
07-06
2432