前言
有时候,我们拿到一个txt格式的表格数据, 也许是有道词典导出的单词本, 也许是策划配置的数据导出, 为了方便阅读和查找数据, 我们需要将它转化为excel。
本文用c#实现了将表格形式的txt文件导出为excel文件。
正文
数据要求:能导出为excel的文件肯定要有数据格式上的要求啦,本文假设txt文件满足以下几个特征。当然,也可以根据实际需求进行修改。
- txt中一行对应了excel中的一行。
- txt的一行中, 字段使用Tab分隔。
- 如果一个字段为空, 使用一个空格占位。
生成一个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]);
读取txt
string[] txtLines = File.ReadAllLines(Environment.CurrentDirectory + txtPath + "//" + txtName); for (int i = 0; i < txtLines.Length; ++i) { string[] line = txtLines[i].Split('\t'); }
遍历一个路径下所有的文件
DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + txtPath); foreach (FileInfo file in folder.GetFiles("*.txt")) { ConvertTxt2Excel.Convert(xlsxPath, txtPath, file.Name); }
指定输出目录
Environment.CurrentDirectory + xlsxPath + "//" + xlsName
保存文件
FileStream file = new FileStream(Environment.CurrentDirectory + xlsxPath + "//" + xlsName, FileMode.Create); hssfworkbook.Write(file); file.Close();
效果
如有错误,欢迎指出。
email:dxmdxm1992#gmail.com