2013-10-02 1 views
0

URL에서 Excel 파일을 읽고 해당 데이터를 가져와야합니다. 파일의 이름은 enterprises.xls입니다. 그러나 이 파일을 메모장에서 열면 HTML에 포함 된 xls 파일을 발견했습니다. Microsoft Excel은이 파일을 아무 문제없이 열어 xls 확장명으로이 파일을 저장할 수 있지만 프로그래밍 방식으로 수행해야합니다. 그렇지 않으면이 파일을 읽는 다른 방법을 찾아야합니다. 이 파일의 데이터를 읽으려면 어떻게해야합니까? 이후 순수한 xslt 아파치 poi 파일 시스템은 아래 오류를 제공합니다;URL에서 포함 된 XLS 파일을 읽는 방법

java.io.IOException: Invalid header signature; read 0x6D78206C6D74683C, expected 0xE11AB1A1E011CFD0 

여기 내 코드입니다.

URL companyList= new URL("someURL.xslt"); 
     InputStream inputStream = companyList.openStream(); 
     POIFSFileSystem fs = new POIFSFileSystem(inputStream); 

xls 파일 또는 html;

<head> 
<meta http-equiv=Content-Type content="text/html; charset=Windows-1254"> 
<meta name=sssId content=Excel.Sheet> 

<style type="text/css"> 
body,table,tr,th,td {font-family:Arial;font-size:11pt;color:#000;} 
.th {padding:3em;background:#3366FF;text-align:center;color:#ffffff;} 
.td {padding:2em;background:#ffffff;} 
</style> 

<!--[if gte mso 9]><xml> 
<x:ExcelWorkbook> 
<x:ExcelWorksheets> 
<x:ExcelWorksheet> 
<x:Name>Companies</x:Name> 
<x:WorksheetOptions> 
<x:DefaultRowHeight>285</x:DefaultRowHeight> 
<x:FreezePanes/> 
<x:FrozenNoSplit/> 
<x:SplitHorizontal>1</x:SplitHorizontal> 
<x:TopRowBottomPane>1</x:TopRowBottomPane> 
<x:ActivePane>2</x:ActivePane> 
<x:Panes> 
    <x:Pane> 
    <x:Number>3</x:Number> 
    </x:Pane> 
    <x:Pane> 
    <x:Number>2</x:Number> 
    </x:Pane> 
    </x:Panes> 
</x:WorksheetOptions> 
</x:ExcelWorksheet> 
</x:ExcelWorksheets> 
</x:ExcelWorkbook> 
</xml><![endif]--> 

</head> 
<body> 
<table width="100%" border="1"> 
<tr><th width="85%" class="th">Company Name&#305;</th><th width="15%"  class="th">City</th></tr> 
<tr><td width="100%" class="td">Microsoft</td><td width="100" align="center" class="td" nowrap>sValley</td> </tr> 
<tr><td width="100%" class="td">Google</td><td width="100" align="center" class="td" nowrap>london</td></tr> 
.... 
+0

POIFSFileSystem은 네이티브 XLS 변형 일명 POI HSSF입니다. 더 많은 정보를 얻으려면 http://poi.apache.org/spreadsheet/how-to.html을 참조하십시오.하지만 XSSF가 잘못된 형식의 입력을 읽을 수 있는지 의심 스럽습니다. Excel은 다양한 입력을 즉시 변환 할 수 있습니다. .xsl로 html 테이블 스타일의 요소를 저장할 수 있으며 어쨌든 열 것입니다 ... – kiwiwings

답변

0

나는 동일한 문제가있었습니다. 이 문제는 xls 파일에서 charset=Windows-1254charset=utf-8으로 변경합니다.