using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections; using System.Xml; using System.Threading; using System.IO; using GemBox.ExcelLite;//引用GemBox.ExcelLite namespace witsky { public partial class month3 : Form { public month3() { InitializeComponent(); } int[] joinR; private void button1_Click(object sender, EventArgs e) { //start: int ip = weekDBstore.Uphone.Count; richTextBox1.Text = ""; //richTextBox2.Text = ""; joinR = GetRandomArray(200,ip );//产生200个随机数 int count1 = joinR.Length; panel1.Visible = false; //MessageBox.Show(ip.ToString() + "/t" + count1.ToString()); try { for (int i = 0; i < count1; i++) { int index = joinR[i]; string phone = weekDBstore.Uphone[index].ToString();//会产生超出索引的随机数??? richTextBox1.Text += Convert.ToString(i + 1) + ":" + phone + " "; weekDBstore.Rlist.Add(phone);//weekDBstore.Uphone[index] weekDBstore.Rlist.Add(weekDBstore.Usorce[index]); weekDBstore.Rlist.Add(weekDBstore.Upid[index]); weekDBstore.Rlist.Add(weekDBstore.Ucity[index]); weekDBstore.Rlist.Add(weekDBstore.Utype[index]); weekDBstore.Rlist.Add("参与奖"); weekDBstore.Rlist.Add("50"); weekDBstore.Rlist.Add("话费"); //不能在此处删除 抽取的对象 } MessageBox.Show("此次抽奖结束!请保存数据!" );//+ weekDBstore.Rlist.Count.ToString()); button2.Enabled = true; button1.Enabled = false; } catch (Exception err) { richTextBox1.Text = ""; MessageBox.Show(ip.ToString() + "/t" + err.ToString()); // weekDBstore.Rlist.RemoveRange(88,weekDBstore.Rlist.Count-88); // goto start; } } private void button2_Click(object sender, EventArgs e) { int count=weekDBstore.Uphone.Count; string[] phone=new string[count]; string[] sorce=new string[count]; string[] pid=new string[count]; string[] city = new string[count]; string[] type = new string[count]; for (int i = 0; i < count; i++) { phone[i] = weekDBstore.Uphone[i].ToString(); sorce[i] = weekDBstore.Usorce[i].ToString(); pid[i] = weekDBstore.Upid[i].ToString(); city[i] = weekDBstore.Ucity[i].ToString(); type[i] = weekDBstore.Utype[i].ToString(); } for (int i = 0; i < joinR.Length; i++) { int index = joinR[i]; phone[index] = "##"; sorce[index] = "##"; pid[index] ="##"; city[index] = "##"; type[index] = "##"; } weekDBstore.Ucity.Clear(); weekDBstore.Uphone.Clear(); weekDBstore.Upid.Clear(); weekDBstore.Usorce.Clear(); weekDBstore.Utype.Clear(); for (int i = 0; i < count; i++)//重新写入 { if (phone[i] != "##") { weekDBstore.Uphone.Add(phone[i]); weekDBstore.Usorce.Add(sorce[i]); weekDBstore.Upid.Add(pid[i]); weekDBstore.Ucity.Add(city[i]); weekDBstore.Utype.Add(type[i]); } } //删除完后 才能产生排名奖 int m = DateTime.Now.Month; int y = DateTime.Now.Year; if (m == 1) { m = 12; y = y - 1; } else { m = m - 1; } string fpath2 = @"C:/" + y.ToString() + "年" + m.ToString() + "月月奖获奖名单.xls"; if (File.Exists(fpath2)) { insertXLS(fpath2); } else { File.Create(fpath2);// (Application.StartupPath + "//AlarmSet.txt");//创建该文件 insertXLS(fpath2); } button2.Enabled = false; } private void insertXLS(string fpath2) { try { ExcelFile excelFile = new ExcelFile(); ExcelWorksheet sheet = excelFile.Worksheets.Add("Users"); sheet.Cells[0, 0].Value = "序号"; sheet.Cells[0, 1].Value = "用户号码"; sheet.Cells[0, 2].Value = "总积分"; sheet.Cells[0, 3].Value = "排名"; sheet.Cells[0, 4].Value = "地区"; sheet.Cells[0, 5].Value = "用户类型"; sheet.Cells[0, 6].Value = "奖项等级"; sheet.Cells[0, 7].Value = "奖项金额"; sheet.Cells[0, 8].Value = "奖项名称"; int id1 = 1; for (int i = 0; i < weekDBstore.Rlist.Count - 7; ) { string p1 = weekDBstore.Rlist[i].ToString(); string p2 = weekDBstore.Rlist[i + 1].ToString(); string p3 = weekDBstore.Rlist[i + 2].ToString(); string p4 = weekDBstore.Rlist[i + 3].ToString(); string p5 = weekDBstore.Rlist[i + 4].ToString(); string p6 = weekDBstore.Rlist[i + 5].ToString(); string p7 = weekDBstore.Rlist[i + 6].ToString(); string p8 = weekDBstore.Rlist[i + 7].ToString(); if (id1 <= weekDBstore.Rlist.Count / 8) { sheet.Cells[id1, 0].Value = id1; sheet.Cells[id1, 1].Value = p1; sheet.Cells[id1, 2].Value = p2; sheet.Cells[id1, 3].Value = p3; sheet.Cells[id1, 4].Value = p4; sheet.Cells[id1, 5].Value = p5; sheet.Cells[id1, 6].Value = p6; sheet.Cells[id1, 7].Value = p7; sheet.Cells[id1, 8].Value = p8; } id1++; i = i + 8; } excelFile.SaveXls(fpath2); int m = DateTime.Now.Month; int y = DateTime.Now.Year; if (m == 1) { m = 12; y = y - 1; } else { m = m - 1; } string fpath1 = @"C:/" +y.ToString() + "年" +m.ToString() + "月排名奖.txt";// if (File.Exists(fpath1)) { File.Delete(fpath1); StreamWriter sr1 = File.CreateText(fpath1); for (int i = 0; i < 10; i++) { sr1.WriteLine("{0}|{1}|{2}|{3}|{4}|{5}{6}", i + 1, weekDBstore.Uphone[i], weekDBstore.Usorce[i], weekDBstore.Upid[i], weekDBstore.Ucity[i], weekDBstore.Utype[i], "/n"); } sr1.Close(); } else { // File.Create(fpath2);// (Application.StartupPath + "//AlarmSet.txt");//创建该文件 StreamWriter sr1 = File.CreateText(fpath1); for (int i = 0; i < 10; i++) { sr1.WriteLine("{0}|{1}|{2}|{3}|{4}|{5}{6}", i + 1, weekDBstore.Uphone[i], weekDBstore.Usorce[i], weekDBstore.Upid[i], weekDBstore.Ucity[i], weekDBstore.Utype[i], "/n"); } sr1.Close(); } MessageBox.Show("保存成功!"); button7.Visible = true; } catch (Exception err) { MessageBox.Show("保存失败!请重新保存"+ err.ToString()); } } /// <summary> /// 功能描述:返回不重复随机数数组 /// </summary> /// <param name="Num">随机数个数</param> /// <param name="minNum">随机数下限</param> /// <param name="maxNum">随机数上限</param> /// <returns></returns> public int[] GetRandomArray(int Number,int maxNum) { int j; int[] b = new int[Number]; Random r = new Random(); for (j = 0; j < Number; j++) { int i = r.Next(maxNum); int num = 0; for (int k = 0; k < j; k++) { if (b[k] == i) { num = num + 1; } } if (num == 0) { b[j] = i; } else { j = j - 1; } } return b; } private void month3_Load(object sender, EventArgs e) { button2.Enabled = false; webBrowser1.Visible = webBrowser2.Visible = webBrowser3.Visible = webBrowser4.Visible = false; webBrowser5.Visible = webBrowser6.Visible = webBrowser7.Visible = webBrowser8.Visible = false; webBrowser9.Visible = webBrowser10.Visible =webBrowser11.Visible=webBrowser12.Visible= false; } private void button7_Click(object sender, EventArgs e) { this.Close(); } private void button3_Click(object sender, EventArgs e) { button3.Visible = false; webBrowser1.Visible = webBrowser2.Visible = webBrowser3.Visible = webBrowser4.Visible = true; webBrowser5.Visible = webBrowser6.Visible = webBrowser7.Visible = webBrowser8.Visible = true; webBrowser9.Visible = webBrowser10.Visible = webBrowser11.Visible = webBrowser12.Visible = true; string pf = @Application.StartupPath + @"/flash/gundong1.swf"; string pf1 = @Application.StartupPath + @"/flash/gundong2.swf"; Uri i = new Uri(pf); Uri j = new Uri(pf1); this.webBrowser1.Url = i; this.webBrowser2.Url = j; this.webBrowser3.Url = i; this.webBrowser4.Url = j; this.webBrowser5.Url = i; this.webBrowser6.Url = j; this.webBrowser7.Url = i; this.webBrowser8.Url = j; this.webBrowser9.Url = i; this.webBrowser10.Url = j; this.webBrowser11.Url = i; this.webBrowser12.Url = j; } } }