c#实现txt转化为excel

时间:2022-07-11 06:44:04

前言

有时候,我们拿到一个txt格式的表格数据, 也许是有道词典导出的单词本, 也许是策划配置的数据导出, 为了方便阅读和查找数据, 我们需要将它转化为excel。
本文用c#实现了将表格形式的txt文件导出为excel文件。

正文

  1. 数据要求:能导出为excel的文件肯定要有数据格式上的要求啦,本文假设txt文件满足以下几个特征。当然,也可以根据实际需求进行修改。

    • txt中一行对应了excel中的一行。
    • txt的一行中, 字段使用Tab分隔。
    • 如果一个字段为空, 使用一个空格占位。
  2. 生成一个excel

    • 下载NPOI的包
    • 新建c#工程, 引用NPOI的dll
    • using命名空间
    • 什么是NPOI,引用官方说法:This project is the .NET version of POI Java project at http://poi.apache.org/. POI is an open source project which can help you read/write xls, doc, ppt files. It has a wide application.
    • 下载地址:https://npoi.codeplex.com/releases
      using NPOI.HSSF.UserModel;
      using NPOI.SS.UserModel;

      HSSFWorkbook hssfworkbook = new HSSFWorkbook();
      ISheet sheet = hssfworkbook.CreateSheet(txtName);

      IRow dataRow = sheet.CreateRow(i);

      ICell cell = dataRow.CreateCell(j);
      cell.SetCellValue(line[j]);
  3. 读取txt

    string[] txtLines = File.ReadAllLines(Environment.CurrentDirectory + txtPath + "//" + txtName);
    for (int i = 0; i < txtLines.Length; ++i)
    {
    string[] line = txtLines[i].Split('\t');
    }
  4. 遍历一个路径下所有的文件

    DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + txtPath);
    foreach (FileInfo file in folder.GetFiles("*.txt"))
    {
    ConvertTxt2Excel.Convert(xlsxPath, txtPath, file.Name);
    }
  5. 指定输出目录

    Environment.CurrentDirectory + xlsxPath + "//" + xlsName
  6. 保存文件

    FileStream file = new FileStream(Environment.CurrentDirectory + xlsxPath + "//" + xlsName, FileMode.Create);
    hssfworkbook.Write(file);
    file.Close();
  7. 效果

c#实现txt转化为excel

c#实现txt转化为excel


如有错误,欢迎指出。

email:dxmdxm1992#gmail.com

blog: http://blog.csdn.net/david_dai_1108