首页 > 编程语言 >使用C#制作Excel抽签窗体程序

使用C#制作Excel抽签窗体程序

时间:2024-10-30 19:17:58浏览次数:8  
标签:MessageBox C# Excel else int 窗体 N1 N2 public

窗体功能有每次选择人数的选择及重置等,具体功能见下 

public partial class Form1 : Form
{
    public int N1 = 0;//一次抽取数量
    public int N2 = 0;//总共抽取数量
    public int N3 = 0;//当前抽取数
    public int N4 = 0;//总数
    public Form1()
    {
        InitializeComponent();
    }
    private void button4_Click(object sender, EventArgs e)
    {
        N1 = int.Parse(number1.Value.ToString());
        N2 = int.Parse(number2.Value.ToString());
        if (N2 < N1)
        {
            MessageBox.Show("抽取总数不得小于每次抽取数!");
        }
        else
        {
            lbl5需求.Text = N1.ToString();
            lbl6输出.Text = N2.ToString();
        }
    }
    private void button2_Click(object sender, EventArgs e)
    {
        listBox2结果.Items.Clear();
        lbl5需求.Text = "";
        lbl6输出.Text = "";
        N1 = 0;
        N2 = 0;
        N3 = 0;
    }

    private void button3_Click(object sender, EventArgs e)
    {
        N1 = 0;
        N2 = 0;
        N3 = 0;
        N4 = 0;
        listBox2结果.Items.Clear();
        listBox1名单.Items.Clear();
        lbl5需求.Text = "";
        lbl6输出.Text = "";
    }
    private void button1_Click(object sender, EventArgs e)
    {
        if (N4 < 1)
            MessageBox.Show("请确认抽签名单!");
        else if (N1 < 1)
            MessageBox.Show("请确认抽签数量!");
        else if (N2 < 1)
            MessageBox.Show("请确认抽签总数!");
        else if (N3 >= N2)
            MessageBox.Show("已经抽完了!");
        else
        {
            if (N2 > N4)
            {
                MessageBox.Show("输出总数不得大于参与人数!");
            }
            else
            {
                int i;
                Random ran = new Random();
                int RandKey;
                for (i = 1; i <= N1 & N3 < N2;)
                {
                    RandKey = ran.Next(0, N4);
                    if (!listBox2结果.Items.Contains(listBox1名单.Items[RandKey]))
                    {
                        listBox2结果.Items.Add(listBox1名单.Items[RandKey]);
                        i++;
                        N3 ++;
                    }
                }
            }
        }
    }

    private void button5_Click(object sender, EventArgs e)
    {
        int index = listBox1名单.Items.Count;
        Read1(listBox1名单);
        N4 = listBox1名单.Items.Count;
        listBox1名单.SelectedIndex = listBox1名单.Items.Count - 1;
        lbl7总数.Text = N4.ToString();
    }

    private void Read1(System.Windows.Forms.ListBox lst)
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.Filter = "Excel 文件(*.xlsx; *.xls)|*.xlsx; *.xls";
        openFileDialog1.FileName = "";
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            string filePath = openFileDialog1.FileName;
            ReadExcelData(filePath);
        }
    }

    private void ReadExcelData(string filePath)
    {
        Excel.Application excelApp = new Excel.Application();
        Excel.Workbook workbook = excelApp.Workbooks.Open(filePath);
        Excel.Worksheet worksheet = workbook.ActiveSheet;

        int rowCount = worksheet.UsedRange.Rows.Count;
        int columnCount = worksheet.UsedRange.Columns.Count;

        for (int i = 1; i <= rowCount; i++)
        {
            string item = "";
            for (int j = 1; j <= columnCount; j++)
            {
                item += worksheet.Cells[i, j].Value.ToString() + " ";
            }
            listBox1名单.Items.Add(item.Trim());
        }
        // 关闭 Excel
        workbook.Close();
        excelApp.Quit();
    }

    private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        MessageBox.Show("本程序仅可在excel关闭时所在的sheet!表,暂未研究出怎样选择sheet表", "使用说明");
    }
}

标签:MessageBox,C#,Excel,else,int,窗体,N1,N2,public
From: https://blog.csdn.net/qq_42858292/article/details/143372730

相关文章

  • Model the various vehicles in the city.
    Assignment4ProgramDescription:Thisassignmenttestsyourunderstandingofinheritance,polymorphism,interfaces,andabstractclasses. Theprogramisasimulatorofcitystreets,trafficlights,andvehicles. Yourtaskistowritetheclassestomode......
  • CTF学习(1):WEB(upload)
    1.进入网站(文件上传题?)--->CTRL+U查看源码(无果)--->导入带有一句话木马的.php文件(无法上传非图片文件)2.使用JavascriptSwitch插件关闭网页的js设置后再次上传图片(成功)--->将文件上传后的路径添加进蚁剑(密码为先前上传的.php文件中POST['']内的字符)3.连入服务器后在......
  • Vue CLI脚手架
    VueCLI脚手架VueCLI安装和使用vuecreate项目的过程项目的目录结构VueCLI的运行原理......
  • BuildCTF
    主要做web方向,misc和crypto有几题也看了一下Webez!httpez_md5这里的<fontstyle="background-color:rgb(249,242,244);">$_REQUEST</font>变量获得GET或POST的参数,值的注意的是,如果通过不同的方式获得相同变量的不同值,**<fontstyle="background-color:rgb(249,242,244......
  • Java使用apache.commons.io框架下的FileUtils类实现文件的写入、读取、复制、删除
    ApacheCommonsIO是Apache开源基金组织提供的一组有关IO(Input/Output)操作的小框架,它是ApacheCommons项目的一部分,专注于提供简单易用的API,用于处理输入和输出操作。ApacheCommonsIO是一个功能强大的JavaIO工具库,提供了丰富的API来简化文件和流的操作。通过使用......
  • 566. 火影忍者动漫主题网页 大学生期末大作业 Web前端网页制作 html+css
    目录一、网页概述二、网页文件 三、网页效果四、代码展示1.html2.CSS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐欢迎光临仙女的网页世界!这里有各行各业的Web前端网页制作的案例,样式齐全新颖,并持续更新!感谢CSDN,提供了这么好......
  • C语言基础
    ifelseifelse后面可以没有花括号,没有的话只能控制一条语句(遇到的第一个分号)可以单独使用if,if后面可以没有else,但是else前面必须有if练习:题目:说出以下代码的执行结果intmain(){inta=10;printf("0");if(a>10);printf("1");elseprintf("4");......
  • Question Decomposition Improves the Faithfulness of Model-Generated Reasoning
    文章目录题目摘要简介结果相关工作结论附录题目问题分解提高了模型生成推理的准确性论文地址:https://arxiv.org/abs/2307.11768摘要    随着大型语言模型(LLM)执行越来越困难的任务,验证其行为的正确性和安全性变得越来越困难。解决此问题的一种方法是促......
  • C语言基础
    1.linux命令:1.1界面调节:终端放大:ctrl+shift+=缩小:ctrl+-打开:点击ctrl+alt+t:在家目录下打开ctrl+shift+n:在当前路径下新开关闭:点击exitctrl+d清屏幕:ctrl+L终止:ctrl+c1.2提示文字:hq@ubuntu:~$用户名间隔符主机名间隔符当前路径间隔/输入提......
  • html和css面试题
    1:主流浏览器的内核分别是什么?IE:trident内核 [‘traidnt]Firefox:gecko内核 [ˈɡekəʊ]Safari:webkit内核Chrome,Opera:Blink内核(基于webkit) 2:每个HTML文件开头都有<!DOCTYPE html>,它的作用是什么<!DOCTYPEhtml>声明位于文档中的最前面的位置,此标签告知浏......