2014-06-23 6 views
0

최근에 나는 similar 질문을했지만 그 질문에 대해 논평 한 사람들 덕분에 NPOI보다 문제가 더 많다는 것을 알았 기 때문에 그 질문을 삭제하고 여기에서 다시 설명합니다.NPOI를 사용하여 파일을 읽을 때

어쨌든 내 주요 문제는 이전 질문에 언급되어 있습니다. NPOI를 사용하여 다운로드 한 .xls 파일을 읽어야합니다. 문제는 다운로드 한 파일이 Excel 문서로 가져온 HTML 테이블 일 가능성이 높습니다. 어느 쪽이든, 또는 excel- 문서는 실제로 압축/압축 해제 된 .xlsx (MIME?)입니다.

excel에서 문서를 열면 파일이 손상되었을 수 있다고 경고합니다. 나는 "ok"를 눌러 모든 것이 잘 작동한다. 따라서 파일은 Excel에서 읽을 수 있지만 NPOI에서는 읽을 수 없습니다.

누구든지 내가 할 수있는 일을 알고 있습니까? 아니면 잃어버린 원인입니까?

답변

1

나는 그것을 알아 냈다!

.xls 파일은 실제로 html-table이므로 메모장에서 열었고 테이블의 html-source라는 것을 알았습니다. 그래서 내가해야 할 일은 파서가 html 파일을 DataTable로 읽어 들이고 거기에서부터 진행하는 것입니다. 여기

는 (아직 파서를 완료하지 않은) 시작의 :

private static void HTMLtoExcel(string fileName) //atm, reads the first cell value. 
{ 
    string text = File.ReadAllText(fileName); 
    DataTable dt = new DataTable(); 
    string insert; 
    int start = text.IndexOf("<td>"); 
    int stop = text.IndexOf("</td>"); 
    insert = text.Substring(start, stop - start); 
    insert = insert.Remove(0, 4); 
    Console.WriteLine(insert); 
} 
관련 문제