繁体   English   中英

用多张纸将xlsx读入列表C#

[英]reading xlsx with multi sheets into lists c#

我有一个代码,我在其中读取文件( .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读取特定工作表并将其列存储到列表中?

谢谢

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM