根据当前时间生成年份、月份文件夹,在月份文件夹中生成以当天日期的EXCEL文件,通过扫码枪读取码值,并根据码值匹配相应的名称。

该博客介绍了一个自动化文件管理系统,根据当前时间生成年份和月份文件夹,并在相应目录下创建CSV文件。系统利用扫码枪读取条码值,匹配预设的名称并写入CSV文件,实现数据记录。同时,提供了UI界面用于显示扫码结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**设计内容:**根据当前时间生成年份、月份文件夹,在月份文件夹中生成以当天日期的EXCEL文件,通过扫码枪读取码值,并根据码值匹配相应的名称。
一、生成年、月份文件

            #region 创建文件夹
            string year = DateTime.Now.Year.ToString() + "年";
            string month = DateTime.Now.Month.ToString() + "月";
            /*string day = DateTime.Now.Day.ToString() + "日";*/

            string file_path = "E:\\" + year + "\\" + month + "\\";

            if (!Directory.Exists(file_path))               //如果“日期”的文件不存在
            {
                Directory.CreateDirectory(file_path);       //创建一个“日期”的文件夹
            }
            #endregion

通过这段代码运行之后,你会发现在你的E盘下有一个2021年的文件夹,打开之后你会发现有一个月份文件夹
二、创建CSV文件,可用EXCEL打开
继续在初始化下写这段代码即可

     #region 创建CSV文件
            // 在上面的"8日"文件夹下创建一个以当前时间为名的CSV文件
            string time = DateTime.Now.ToString("yyyy-MM-dd");
            string file_path1 = "E:\\" + year + "\\" + month + "\\" + time + ".csv";
            FileInfo fi = new FileInfo(@"E:\\" + year + "\\" + month + "\\" + time + ".csv");
            StreamWriter sw = new StreamWriter(file_path1, true, UnicodeEncoding.GetEncoding("GB2312"));//"GB2312"代表的是简体字
            string time1 = DateTime.Now.ToString("HH:mm:ss");
            #endregion

三、接下来就是创建标头
首先判断CSV文件内是否有内容,如果没有内容写入内容,如果有则在下一行写入数据。如下方代码:

//加入一个逗号,表示定位到下一个单元格,加入一个回车符表示定位到一下行
 sw.Write("序号" + "," + "时间" + "," + "码值" + "," + "名称" + "\r"); 

四、在界面创建两个Textbox控件和一个清除按键
在这里插入图片描述
左侧代表扫码枪读入的数据,右侧显示码值代表的名称
扫码枪的程序代码如下:
(具体扫码枪如何使用,参考一下这个链接(https://blog.youkuaiyun.com/HEIMENGER/article/details/119205499))

if (e.KeyCode == Keys.Enter)
            {
                //获取条码资料
                string barcode = textBox1.Text.Trim();
                string year = DateTime.Now.Year.ToString() + "年";
                string month = DateTime.Now.Month.ToString() + "月";
                string time = DateTime.Now.ToString("yyyy-MM-dd");
                string file_path1 = "E:\\" + year + "\\" + month + "\\" + time + ".csv";
                FileInfo fi = new FileInfo(@"E:\\" + year + "\\" + month + "\\" + time + ".csv");
                StreamWriter sw = new StreamWriter(file_path1, true, UnicodeEncoding.GetEncoding("GB2312"));//"GB2312"代表的是简体字
                string time1 = DateTime.Now.ToString("HH:mm:ss");
                #region 判断条码值,并对应名称写入CSV文件
                if (barcode == "9787302447092")
                {
                    i = 2;
                    textBox2.Text = "vb.net实训设计";
                }
                else if (barcode == "9787115519184")
                {
                    i = 0;
                    textBox2.Text = "C#图解教程";
                }
                else if (barcode == "9787115193582")
                {
                    i = 1;
                    textBox2.Text = "C#图像处理算法";
                }
                else if (barcode == "B-83284CM/07")
                {
                    i = 3;
                    textBox2.Text = "Robot操作说明书";
                }
                #endregion

注意的是需要检测内部是否有内容:不要重复写入标题
写入数据代码如下:

 string[] mingcheng  = new string[] { "C#图解教程", "C#图像处理算法", "vb.net实训设计","Robot操作说明书" };
sw.Write(num + "," + time1 + "," + barcode + "," + mingcheng[i] + "\r")

全部代码参照下面链接
全部代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CWM6364

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值