首页 > 其他分享 >Winform小工具:.txt档转excel档

Winform小工具:.txt档转excel档

时间:2024-07-23 13:29:10浏览次数:12  
标签:string 档转 worksheet Cells filePath excel Value txt

    private void bt_txt_to_excel_Click(object sender, EventArgs e)
    {
        
            FolderBrowserDialog folderDialog = new FolderBrowserDialog();

            if (folderDialog.ShowDialog() == DialogResult.OK)
            {
                string selectedFolder = folderDialog.SelectedPath;

                // 遍历文件夹中的文件
                foreach (string filePath in Directory.GetFiles(selectedFolder))
                {
                    if (Path.GetExtension(filePath).Equals(".txt", StringComparison.OrdinalIgnoreCase))
                    {
                        ParseLogFile(filePath);
                    }
                }
            }
        
    }

    static void ParseLogFile(string filePath)
    {
        try
        {
            var fileInfo = new FileInfo(filePath.ToLower().Replace(".txt", ".xlsx"));
            if (fileInfo.Exists)
            {
                try
                {
                    fileInfo.Delete();
                }
                catch (Exception ex)
                {
                    MessageBox.Show($"删除文件时出错: {ex.Message}");
                }
            }


            using (var package = new ExcelPackage(fileInfo))
            {
                string id = Guid.NewGuid().ToString();//默认唯一ID
                string[] lines = File.ReadAllLines(filePath);
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                // 添加表头
                worksheet.Cells[1, 1].Value = "客戶ID";
                worksheet.Cells[1, 2].Value = "客戶code";
                worksheet.Cells[1, 3].Value = "pcs_code";
                worksheet.Cells[1, 4].Value = "版序";
                worksheet.Cells[1, 5].Value = "emapping";


                int i = 0;
                // 在此处添加解析txt的逻辑规则
                foreach (string line in lines)
                {
                    int indx = line.IndexOf("sn|cmd90:");
                    if (indx > 0)
                    {
                        string[] datas = line.Substring(indx + 9).Split(';');

                        worksheet.Cells[2 + i, 1].Value = id;
                        worksheet.Cells[2 + i, 2].Value = datas[1];
                        worksheet.Cells[2 + i, 3].Value = datas[2];
                        worksheet.Cells[2 + i, 4].Value = datas[4].PadLeft(3, '0');
                        worksheet.Cells[2 + i, 5].Value = "0";
                        i++;
                    }
                }
                package.Save();
                MessageBox.Show("导出成功!");
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show($"解析文件 {filePath} 时出错: {ex.Message}");
        }
    }

标签:string,档转,worksheet,Cells,filePath,excel,Value,txt
From: https://www.cnblogs.com/xynmw/p/18318158

相关文章

  • 如何在 Google Colab 上打开 txt?
    我的iris.txt存储在GoogleDrive的MyDrive/ML中,我试图打开并阅读它。importcsvimportnumpyfile=open(r"/drive/ML/iris.txt")mylist=list(csv.reader(file))lines=numpy.asarray(mylist)它返回了错误,我该怎么办?IOErrorTraceback(mostrecentcalll......
  • 使用微软自己的方法,将Office文档转化为pdf
    转的,整理资料发现的,挺好。原创作者找不到了。//////Word转换成pdf//////源文件路径///目标文件路径///true=转换成功publicboolDOCConvertToPDF(stringsourcePath,stringtargetPath){boolresult=false;Word.WdExportFormatexportFormat=Word.WdExport......
  • python 文件(txt)操作
    我有一个txt文件,其中包含一列(大约2000个)单词。每个单词只用一个新行分隔。我想将所有这些单词存储在一个数组中words.txt文件的示例:applebananaorange我尝试过的代码:importrandomwithopen('E:/Code/learn/Projects/word-guessing-game/words.txt','r')a......
  • 如何使用 Selenium Python 搜索 Excel 文件中的文本
    我有一些数据在Excel文件中。我想要转到Excel文件,然后搜索文本(取自网站表),然后获取该行的所有数据,这些数据将用于在浏览器中填充表格。示例:我希望selenium搜索ST0003然后获取名称,该学生ID的父亲姓名,以便我可以在大学网站中填写此信息。我想我会从网站......
  • python里读写excel等数据文件的几种常用方式
    python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv、txt等)、excel文件、数据库文件、api等。下面整理下python有哪些方式可以读取数据文件。1.python内置方法(read、readline、readlines)read():一次性读取整个文件内容。推荐使用read(size)方法,size越大......
  • EXCEL初级入门--(第四章 函数进阶学习)-中
    文章目录(十四)MatchVlookup应用对比Match(十五)IndexMatch多条件应用案例Index(十六)IndexMatch数组嵌套IndexMatch(十七)唯一Subtotal唯一的筛选函数Subtotal(十八)Sumproduct函数应用Sumproduct(十九)条件求和函数1、sum2、sumif3、sumifs(二十)条件计......
  • excel 二级菜单联动筛选,减少筛选项,缓解打平之后筛选项过多不利于查看的问题
    问题二级菜单联动筛选,让标注更省力步骤准备一级、二级菜单选项的映射表。公式->根据所选内容创建准备一级下拉菜单选项。数据->数据验证->序列->选中区域准备二级下拉菜单选项。数据->数据验证->序列->公式(=INDIRECT(INDIRECT("C"&ROW())))+拖动完成整个列的下拉功......
  • excel 如何给单元格设置下拉选项值
    在Excel中给单元格设置下拉选项值可以通过几种方法实现,‌包括使用数据验证、‌组合框以及宏代码。‌以下是具体的操作步骤:‌使用数据验证设置下拉选项:‌选中需要设置下拉选项的单元格或单元格区域。‌点击“数据”选项卡中的“数据验证”按钮。‌在“允许”下拉列表中选择......
  • Python 实现Excel和TXT文本格式之间的相互转换
    Excel是一种具有强大的数据处理和图表制作功能的电子表格文件,而TXT则是一种简单通用、易于编辑的纯文本文件。将Excel转换为TXT可以帮助我们将复杂的数据表格以文本的形式保存,方便其他程序读取和处理。而将TXT转换为Excel则可以将文本文件中的数据导入到Excel中进行进一步的分析和......
  • Python自动化:一键提取千万个Excel指定数据
    一、传统方法的局限性打开每个Excel文件,逐个查找需要的数据。筛选出老板需要的数据列。复制并粘贴到新的工作表中。保存并关闭每个文件。这个过程不仅耗时,而且容易出错。每一次的筛选都可能遗漏数据,每一次的复制粘贴都可能引入错误。二、Python自动化的解决方案i......