Ler excel com Java usando o JExcelApi
29 Sep 2010Esse post é uma continuação do post Upload com Spring MVC, pois além do upload eu precisava ler o Excel e adicionar as informações no Banco de Dados.
Para ler Excel estou usando o JExcelApi. Outra opção seria o Apache POI, que é mais popular.
Primeiro passo
Adicionar a dependência JExcelApi no pom.xml
.
<properties>
<jexcelapi.version>2.6</jexcelapi.version>
</properties>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>${jexcelapi.version}</version>
</dependency>
Segundo passo
Escrever o código para ler o Excel. Estou usando a action de upload do artigo Upload com Spring MVC.
@RequestMapping(value = "upload", method = RequestMethod.POST)
public String upload(HttpServletRequest request) throws BiffException, IOException {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile multipartFile = multipartRequest.getFile("file");
Workbook workbook = Workbook
.getWorkbook(multipartFile.getInputStream());
Sheet sheet = workbook.getSheet("Nome da planilha");
for (int i = 0; i < sheet.getRows(); i++) {
for(int j = 0; j < sheet.getColumns(); j++){
Cell celulaJ = sheet.getCell(j, i);
System.out
.println("Conteúdo da célula " + j + ": " + celularJ.getContents());
}
}
return "redirect:upload-success";
}