using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using UAS_MES_NEW.DataOperate; using UAS_MES_NEW.Entity; using UAS_MES_NEW.PublicMethod; namespace UAS_MES_NEW.Query { public partial class Query_SpecialReport_SN : Form { public Query_SpecialReport_SN() { InitializeComponent(); } private void Export_Click(object sender, EventArgs e) { ExcelExport(""); } //选择导出Excel时是选择导出数据的还是模板 private void ExcelExport(string DataOrTemplet) { //Data表示导出数据 //Templet表示导出模板 if (ma_code.Text == "") { MessageBox.Show("请输入工单号"); return; } if (Num.Text == "") { MessageBox.Show("请输入数量"); return; } if (BeginMac.Text == "" || BeginMac.TextLength != 12) { MessageBox.Show("请输入起始地址号或检查长度"); return; } if (BeginBT.Text == "" || BeginBT.TextLength != 12) { MessageBox.Show("请输入起始地址号或检查长度"); return; } if (BeginIMEI1.Text == "" || BeginIMEI1.TextLength < 15) { MessageBox.Show("请输入IMEI1起始地址号或检查长度"); return; } if (BeginIMEI2.Text == "" || BeginIMEI2.TextLength < 15) { MessageBox.Show("请输入IMEI2起始地址号或检查长度"); return; } folderBrowserDialog1.Description = "选择导出的路径"; DialogResult result = folderBrowserDialog1.ShowDialog(); if (result == DialogResult.OK) { string FolderPath = folderBrowserDialog1.SelectedPath; ExcelHandler eh = new ExcelHandler(); DataTable dt = new DataTable(); dt.Columns.Add("工单号"); dt.Columns.Add("SN"); dt.Columns.Add("MAC"); dt.Columns.Add("BT"); dt.Columns.Add("IMEI1"); dt.Columns.Add("IMEI2"); dt.Columns.Add("扩展栏位1"); dt.Columns.Add("扩展栏位2"); dt.Columns.Add("扩展栏位3"); dt.Columns.Add("备注"); string prefix = BeginMac.Text.Substring(0, 6); string suffix = BeginMac.Text.Substring(6, 6); string imei1prefix = BeginIMEI1.Text.Substring(0, 10); string imei1suffix = BeginIMEI1.Text.Substring(10, BeginIMEI1.Text.Length - 10); string imei2prefix = BeginIMEI2.Text.Substring(0, 10); string imei2suffix = BeginIMEI2.Text.Substring(10, BeginIMEI2.Text.Length - 10); int num = Int32.Parse(suffix, System.Globalization.NumberStyles.HexNumber); int num0 = Int32.Parse(suffix, System.Globalization.NumberStyles.HexNumber); double num1 = double.Parse(imei1suffix); double num2 = double.Parse(imei2suffix); double num3 = double.Parse(BeginSN.Text); for (int i = 0; i < int.Parse(Num.Text); i++) { DataRow dr = dt.NewRow(); dr["工单号"] = ma_code.Text; dr["SN"] = SNPrefix.Text + lpad(int.Parse(RMLength.Text), num3.ToString("")); if (dr["SN"].ToString().Length <= 0) { MessageBox.Show("生成SN地址错误"); return; } dr["MAC"] = prefix + lpad(6, num0.ToString("X")); if (dr["MAC"].ToString().Length != 12) { MessageBox.Show("生成MAC地址错误"); return; } dr["BT"] = prefix + lpad(6, num0.ToString("X")); if (dr["BT"].ToString().Length != 12) { MessageBox.Show("生成BT地址错误"); return; } Console.WriteLine(imei1prefix+" " + lpad(BeginIMEI1.Text.Length - 10, num1.ToString(""))); dr["IMEI1"] = imei1prefix + lpad(BeginIMEI1.Text.Length - 10, num1.ToString("")); if (dr["IMEI1"].ToString().Length < 15) { MessageBox.Show("生成IMEI1地址错误"); return; } dr["IMEI2"] = imei2prefix + lpad(BeginIMEI2.Text.Length - 10, num2.ToString("")); if (dr["IMEI2"].ToString().Length < 15) { MessageBox.Show("生成IMEI2地址错误"); return; } num = num + 1; num0 = num0 + 1; num1 = num1 + 1; num2 = num2 + 1; num3 = num3 + 1; dt.Rows.Add(dr); } eh.ExportExcel(dt, FolderPath); } } private static string lpad(int length, string number) { while (number.Length < length) { number = "0" + number; } number = number.Substring(number.Length - length, length); return number; } private void Query_SpecialReport_Load(object sender, EventArgs e) { } } }