2017-03-10 5 views
0

나는 파일 (.csv)을 읽고 그 열을 목록에 저장하는 코드를 가지고 있습니다.xlsx에서 여러 장을 목록으로 읽음 C#

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 파일의 시트와 같을 것이며 파일 이름을 읽을 수 있는지 선택할 수 있다고 생각합니다.

예를 들어 skill1, skill2 등의 시트가있는 경우

이름으로 xlsx에서 특정 시트를 읽고 목록에 열을 저장하는 방법이 있습니까?

는이 작업을 수행하는 방법은 여러가지가 있습니다 당신에게

답변

0

감사드립니다. xlsx 파일의 압축을 풀고 시트 XML을 직접 읽을 수도 있고 xlsx (예 : 프리웨어 인 EPPLUS)에서 사용할 수있는 라이브러리를 사용할 수도 있습니다.