如何将Tabdelimited文本导入EPPlus表?

时间:2014-05-24 07:03:32

标签: c# asp.net excel epplus

我想使用EPPlus创建Excel文件,但我遇到了问题:我的输入数据采用制表符分隔格式:

Name     Code     Grade
------------------------
N1       C22      17.6
N2       C09      18.9
N3       C18      20

如何使用EPPlus包添加此类型(标签格式)数据?

3 个答案:

答案 0 :(得分:0)

EPPlus是一个只读取和写入xlsx文件的库,因此您无法以表格格式直接解析文件。

您需要为您的格式编写阅读器,或者更简单地使用支持自定义分隔符的CSV阅读器,并将分隔符设置为\t。您可以使用此阅读器读取数据的每个单元格并将其提供给EPPlus以重新创建数据表。

答案 1 :(得分:0)

我只是以标准的旧C#方式读取文本文件,将每个单元格加载到EPPlus中的单元格中,然后保存它。您只需编写一些循环和一些格式代码即可。

答案 2 :(得分:0)

Epplus支持导入制表符分隔的文本。您可以看到它sample9.cs(https://github.com/JanKallman/EPPlus/blob/master/SampleApp/Sample9.cs

如果您只是在寻找代码,

//Create the format object to describe the text file
var format = new ExcelTextFormat();
format.Delimiter='\t'; //Tab

//Now read the file into the sheet.
Console.WriteLine("Load the text file...");
var csvDir = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "csv");

var range = sheet.Cells["A1"].LoadFromText(Utils.GetFileInfo(csvDir, "Sample9-2.txt", false), format);

直接链接到行号{https://github.com/JanKallman/EPPlus/blob/master/SampleApp/Sample9.cs#L138