2010-12-01 4 views
0

스트림 리더를 사용하여 스트림 작성기에 csv 파일을 html로 변환하려고합니다. 문제는 csv 파일의 마지막 줄이 누락되었습니다. 디버깅을 시도하고 스트림 리더 추적을 시도했지만 각 루프에서 시계에서 스트림 리더 출력을 볼 수 없습니다.csv 파일을 html로 변환 할 때 오류가 발생했습니다. #

string Line, path = @"C:\Vertex\nov\Source\Reports\Rpt_Disconn_and_Reconn_List_for_Customer_Operations_Results.csv"; 

System.IO.StreamReader ObjectStreamReader = null; 
System.IO.StreamWriter ObjectStreamWriter = null; 

ObjectStreamReader = new System.IO.StreamReader(path); 
ObjectStreamWriter = new System.IO.StreamWriter("result.html"); 

Line = ObjectStreamReader.ReadLine(); 
ObjectStreamWriter.Write("<html><head><table border =1><>"); 
ObjectStream.Writer.Write(""): 

while (ObjectStreamReader.Peek() > -1) 
{ 
    Line = ObjectStreamReader.ReadLine(); 
    ObjectStreamWriter.WriteLine("<tr><td>" + 
           string.Join("</td><td>", Line.Split('\t')) + 
           "</td></tr>"); 
} 

ObjectStreamWriter.WriteLine("</table></body></html>"); 

답변

0

나는 이런 식으로 뭔가에 File.ReadAllLines을 사용하는 것이 좋습니다 것입니다 :

 const string path = @"c:\temp\data.csv"; 
     const char token = '\t'; 

     string[] lines = File.ReadAllLines(path); 
     StringBuilder result = new StringBuilder(); 
     result.Append("<html><head><table border =1>"); 
     foreach (string line in lines) 
     { 
      string[] parts = line.Split(token); 
      string row = "<tr><td>" + string.Join("</td><td>", parts) + "</td></tr>"; 
      result.Append(row); 
     } 
     result.Append("</table></body></html>"); 
관련 문제