将xlsx与多张表格一起读入列表c#

时间:2017-03-10 09:28:59

标签: c# excel list csv xlsx

我有一个代码,我在其中读取文件(.csv)并将其列存储在列表中。

var pathskill = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory.ToString(), "skill.csv");

using (var fs1 = File.OpenRead(pathskill))
using (var reader1 = new StreamReader(fs1))

while (!reader1.EndOfStream)
{
    var line = reader1.ReadLine();
    var values = line.Split(',');

    list_MainId.Add(Convert.ToDouble(values[0]));
    list_MainName.Add(values[1]);
    list_AmountMade.Add(Convert.ToInt32(values[2]));
    list_Level.Add(Convert.ToDouble(values[3]));
    list_Exp.Add(Convert.ToDouble(values[4]));
    list_MadeFrom_One_Id.Add(Convert.ToDouble(values[5]));
    list_Amount_MadeFrom_One.Add(Convert.ToInt32(values[6]));
    list_MadeFrom_Two_Id.Add(Convert.ToDouble(values[7]));
    list_Amount_MadeFrom_Two.Add(Convert.ToInt32(values[8]));

}

这段代码效果很好,我得到了9个带值的列表。

但是,我有很多.csv个文件,我认为每个文件都会像xlsx文件中的工作表一样好,我可以选择按名称读取哪个文件。

例如,要有一张名为skill1skill2的表格,等等。

有没有办法从xlsx中读取特定工作表的名称并将其存储到列表中?

谢谢

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。您可以直接解压缩xlsx文件并读取表格XML,或者您可以使用一些可以与xlsx一起使用的库(例如,EPPLUS即免费软件)。