前言
有时候,我们拿到一个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