2012-02-29 4 views
0

키가있는 문자열 사전과 값의 문자열 목록이 있습니다. 키가 맨 위 행에 있고 값이 해당 열에 있도록 Excel에 값을 쓰고 싶습니다. 상단 행에 키를 쓰는 코드가 이미 있습니다. 그러나 값을 처리하는 방법을 모르겠습니다. 미리 감사드립니다!C#에서 Excel에 사전 작성

 Excel.Application oXL = new Excel.Application(); 
     Excel._Workbook oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value)); 
     Excel._Worksheet oSheet = (Excel._Worksheet)oWB.ActiveSheet; 
     Excel.Range oRng; 

     string[] saNames = dict.Keys.ToArray(); 

     oRng = oSheet.get_Range("A1", Missing.Value).get_Resize(1, dict.Keys.Count); 
     oRng.Value = saNames; 

     oXL.Visible = true; 
     oXL.UserControl = true; 

답변

3

이와 비슷한 기능이 있습니까? 각 키 위로 이동하여 맨 위 행에 기록한 다음 연속 키의 값으로 문자열을 이동하십시오.

+0

이 바로 대해 보이는 즐길 수 있습니다. – zmbq

+0

고마워, 나는 그런 세포를 반복 할 수 있다는 것을 몰랐다. 범위 객체를 사용해야한다고 생각했습니다. – user1090859

2

저는 엑셀이 아니라는 것을 압니다. 그러나 CSV 형식이 당신에게 충분하다면, 여기에 저에게 도움이되는 예가 있습니다. System, System.IO

public static void DictToCsv(Dictionary<string, string> dict, string filePath) 
    { 
     try 
     { 
      var csvLines = String.Join(Environment.NewLine, 
        dict.Select(d => d.Key + "," + d.Value)); 
      Directory.CreateDirectory(Path.GetDirectoryName(filePath)) 
      File.WriteAllText(filePath, csvLines); 
     } 
     catch (Exception ex) 
     { 
      logger.Error(ex.ToString()); 
     } 
    } 

System.Linq를 사용 물론 는