2010-08-05 2 views
1

나는 다음과 같은 오류가 무엇입니까 그러나 : 내가 인터넷에서 검색 할 때 내가 jExcel을 발견jexcel을 사용하여 Excel을 읽는 방법은 무엇입니까? 내가 자바 코드 를 사용하여 Excel 파일을 읽기 위해 노력하고

OLE 스트림을 인식 할 수 없습니다 :

jxl.read.biff.BiffException을 2003 년을 능가 할 때까지만 지원됩니다.이 오류는 2007 년 BTS에서 Excel이 만들어지면 나옵니다. 97-2003 형식으로 만 Excel을 저장했고 여전히이 문제가 발생합니다.

답변

0

JExcel에 대한 경험이 없지만 당신에게 경의를 표합니다 문제가 파일 형식 중 하나라고 생각하면 옳습니다. Apache POI 프로젝트를 사용해 보시기 바랍니다. Excel 스프레드 시트를 읽고 쓰는 데 광범위하게 사용합니다. Excel 5.0 이후의 IIRC에서 작성된 모든 스프레드 시트를 읽고 .xsl 및 .xslx 파일 형식을 모두 지원합니다.

+0

은 u는 어떻게 내가 그나마 아파치 POI를 사용하는 말해 줄 수 읽기에 대한 샘플 코드 및 사이트에서 다시 쓰기 통합 문서입니다 사용할 수 있습니다 지원하지 않습니다 필요한 항아리가 있습니다 – Simran

+0

와우, 그게 큰 질문입니다. 빠른 가이드 http://poi.apache.org/spreadsheet/quick-guide.html을 확인해보십시오. POI를 시작하기위한 기본 사항을 다루고 있습니다. 필요한 항아리를 얻는 것에 관해서는 사이트에서 다운로드를 제공하거나 Maven을 사용하여 다운로드하고 다운로드 할 수 있습니다. – wobblycogs

-1

JExcel을 오랫동안 사용해 왔지만 결코 이런 종류의 문제가 발생하지 않았습니다. 파일이 XLS 형식이 아닌 것 같습니다. 새 Excel 파일을 만들고 읽으려고합니다.

+0

답변은 질문과 전혀 관련이 없습니다. Simran은 XLS로 XLS 파일을 저장할 때 문제가 발생했다는 것을 이미 언급했습니다. –

9

JExcel API는 엑셀 2007, 당신이 Apache POI HSSF/XSSF 여기

InputStream inp = new FileInputStream("workbook.xls"); 
//InputStream inp = new FileInputStream("workbook.xlsx"); 

Workbook wb = WorkbookFactory.create(inp); 
Sheet sheet = wb.getSheetAt(0); 
Row row = sheet.getRow(2); 
Cell cell = row.getCell(3); 
if (cell == null) 
    cell = row.createCell(3); 
cell.setCellType(Cell.CELL_TYPE_STRING); 
cell.setCellValue("a test"); 

// Write the output to a file 
FileOutputStream fileOut = new FileOutputStream("workbook.xls"); 
wb.write(fileOut); 
fileOut.close(); 
관련 문제