Boa Tarde galera !!!
Estou precisando ler arquivos do excel 2007. Alguém conhece alguma API java que faça este tipo de serviço ???
Valeu! Fico no aguardo… Obrigado !
Boa Tarde galera !!!
Estou precisando ler arquivos do excel 2007. Alguém conhece alguma API java que faça este tipo de serviço ???
Valeu! Fico no aguardo… Obrigado !
Apache POI
Valeu “mtakeda” funcionou legal !!!
Fala galera!
Eu estou manipulando arquivos .[b]xls[/b] com o POI sem dificuldades, porém não estou conseguindo manipular [b].xlsx[/b]! Já estou apanhando há alguns dias. Baixei a última versão([b]poi-bin-3.8-beta3-20110606.zip[/b]) mas não resolveu.
Vocês sabem me dizer se o simples fato de instanciar classes XSSF ao invés de HSSF já resolveria este problema?! Pois tentei fazer isso, mas também não obtive sucesso.
Consegui o exemplo anexo aqui no site do POI. Ele está lendo/escrevendo .xls corretamente. Alguém poderia fazer as alterações necessárias nele para que possam ser lidos e escritos arquivos [b].xlsx[/b]?! Isso já me ajudaria muito a entender as diferenças da biblioteca.
Obrigado.
Descobri aonde estava errando…
Dentro da pasta poi-bin-3.8-beta3-20110606\poi-3.8-beta3 existe uma pasta chamada ooxml-lib que contém 3 jars que eu não estava importando. Após importá-los e instanciar objetos XSSF ao invés de HSSF resolvi o problema. São eles:
dom4j-1.6.1.jar
stax-api-1.0.1.jar
xmlbeans-2.3.0.jar
Vou deixar registrado aqui, caso alguém tenha a mesma distração.
Valeu.
Olá!
Tentei seguir o seu exemplo para ler um ficheiro do Excel 2007 e não estou conseguindo. Segue o código que fiz:
public static void main(String[] args) {
// Office 2007 e 2010:
try {
FileInputStream fileInputStream = new FileInputStream("E:\\TesteJava.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
XSSFSheet worksheet = workbook.getSheet("POI Worksheet");
XSSFRow row1 = worksheet.getRow(0); //linha lida
XSSFCell cellA1 = row1.getCell(0); //celula lida
String a1Val = cellA1.getStringCellValue();
XSSFCell cellB1 = row1.getCell(1);
String b1Val = cellB1.getStringCellValue();
XSSFCell cellC1 = row1.getCell(2);
boolean c1Val = cellC1.getBooleanCellValue();
XSSFCell cellD1 = row1.getCell(3);
double d1Val = cellD1.getNumericCellValue();
System.out.println("A1: " + a1Val);
System.out.println("B1: " + b1Val);
System.out.println("C1: " + c1Val);
System.out.println("D1: " + d1Val);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Se executar o código recebo o seguinte erro:
run:
Exception in thread "main" java.lang.NullPointerException
at leficheiroexcel_2.Main.main(Main.java:30)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
O erro aponta para a seguinte linha:
XSSFRow row1 = worksheet.getRow(0); //linha lida
Desde já, um muito obrigado.