顺丰单号、EMS单号算法(规则规律).docx_第1页
顺丰单号、EMS单号算法(规则规律).docx_第2页
顺丰单号、EMS单号算法(规则规律).docx_第3页
顺丰单号、EMS单号算法(规则规律).docx_第4页
顺丰单号、EMS单号算法(规则规律).docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 System.Data.OleDb;using Microsoft.Office.Interop.Excel;using System.Diagnostics;using System.IO;namespace RMEmsNum public partial class Form1 : Form public Form1() InitializeComponent(); public int BNum = 0; / / 生成数据写入Access数据库 / / private void RE(string sql) string path = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DONENAME.mdb; OleDbConnection conn = new OleDbConnection(path); OleDbCommand cmd = new OleDbCommand(sql, conn); conn.Open(); try cmd.ExecuteNonQuery(); catch (Exception) conn.Close(); MessageBox.Show(写入数据失败!); conn.Close(); / / 开始生成Ems数据 / / / private void btn_Go_Click(object sender, EventArgs e) this.btn_showinfo.Enabled = false; this.btn_ToExcle.Enabled = false; try if (this.txtBox_Start.Text.Trim() = | this.txtBox_End.Text.Trim() = | this.txtBox_Start.Text.Trim().Length != 8 | this.txtBox_End.Text.Trim().Length != 8 ) MessageBox.Show(请正确输入编码!编码应为8位全数字!); else /cq0784 3633 7sd /cq0784 3638 5sd string startStr = this.txtBox_Start.Text.Trim(); string endStr = this.txtBox_End.Text.Trim(); int startNum = Convert.ToInt32(startStr.Substring(4, 4); int endNum = Convert.ToInt32(endStr.Substring(4, 4); for (int i = startNum; i = endNum; i+) /8 6 4 2 3 5 9 7 int num3 = Convert.ToInt32(startStr.Substring(0, 1); int num4 = Convert.ToInt32(startStr.Substring(1, 1); int num5 = Convert.ToInt32(startStr.Substring(2, 1); int num6 = Convert.ToInt32(startStr.Substring(3, 1); int num7 = Convert.ToInt32(startStr.Substring(4, 1); int num8 = Convert.ToInt32(startStr.Substring(5, 1); int num9 = Convert.ToInt32(startStr.Substring(6, 1); int num10 = Convert.ToInt32(startStr.Substring(7, 1); int lastNum = 11 - (8 * num3 + 6 * num4 + 4 * num5 + 2 * num6 + 3 * num7 + 5 * num8 + 9 * num9 + 7 * num10) % 11; if (lastNum = 10) lastNum = 0; if (lastNum = 11) lastNum = 5; string sql = insert into EmsNum (Ems) values (CQ + startStr.Substring(0, 4) + i.ToString() + lastNum.ToString() + SD); RE(sql); startStr = startStr.Substring(0, 4) + (i + 1).ToString(); MessageBox.Show(CQ + this.txtBox_Start.Text.Trim() + *SD到 + CQ + this.txtBox_End.Text.Trim() + *SD 编码生成成功!); this.btn_showinfo.Enabled = true; this.btn_ToExcle.Enabled = true; catch (Exception) MessageBox.Show(数据生成失败!请重新尝试!); this.btn_showinfo.Enabled = false; / / 预览刚生成的Ems数据方法 / private void showEmsNum() string sql = select * from EmsNum where id+BNum; string path = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DONENAME.mdb; OleDbConnection conn = new OleDbConnection(path); OleDbDataAdapter da = new OleDbDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds); try this.dataGridView1.DataSource = ds.Tables0; catch (Exception) MessageBox.Show(写入数据失败!); private void Form1_Load(object sender, EventArgs e) this.btn_showinfo.Enabled = false; this.btn_ToExcle.Enabled = false; BNum = GetBNum(); / / 获取数据库中的最大ID号 / / private int GetBNum() int BNum = 0; string sql = select max(ID) from EmsNum ; string path = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DONENAME.mdb; OleDbConnection conn = new OleDbConnection(path); OleDbCommand cmd = new OleDbCommand(sql, conn); conn.Open(); try BNum = Convert.ToInt32(cmd.ExecuteScalar().ToString(); catch (Exception) conn.Close(); return BNum; / / 预览事件 / / / private void btn_showinfo_Click(object sender, EventArgs e) showEmsNum(); / / 导出数据方法 / / 传入数据表 public void DataToExcel(System.Data.DataTable m_DataTable) SaveFileDialog kk = new SaveFileDialog(); kk.Title = 保存EXECL文件; kk.Filter = EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*; kk.FilterIndex = 1; if (kk.ShowDialog() = DialogResult.OK) string FileName = kk.FileName + .; if (File.Exists(FileName) File.Delete(FileName); FileStream objFileStream; StreamWriter objStreamWriter; string strLine = ; objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write); objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode); for (int i = 0; i m_DataTable.Columns.Count; i+) strLine = strLine + m_DataTable.Columnsi.Caption.ToString() + Convert.ToChar(9); objStreamWriter.WriteLine(strLine); strLine = ; for (int i = 0; i m_DataTable.Rows.Count; i+) for (int j = 0; j 0) rowstr = rowstr.Replace(rn, ); if (rowstr.IndexOf(t) 0) rowstr = rowstr.Replace(t, ); strLine = strLine + rowstr + Convert.ToChar(9); objStreamWriter.WriteLine(strLine); strLine = ; objStreamWriter.Close(); objFileStream.Close(); MessageBox.Show(this, 保存EXCEL成功, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); / / 导出数据事件 / / / private void btn_ToExcle_Click(object sender, EventArgs e) string sql = select * from EmsNum where ID + BNum; string path = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DONENAME.m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论