123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- 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)
- {
- }
- }
- }
|