Ler dados em arquivo xls (EXCEL)

4 respostas
Aldeir

Estou precisando ler os dados em um arquivo do excel, mas quando os dados são datas só me traz o ano com 2 digitos.
Exemplo: se o ano for 1991,2091 ele sempre me traz “01/01/0091”;

Estou usando a biblioteca jxl.

SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");	
ArquivoXLS arqXLS = new ArquivoXLS();
		
try {
	Workbook workbook = Workbook.getWorkbook(arquivoOrigem);

	Sheet sheet = workbook.getSheet(0);
	
	int linhas = sheet.getRows();
	int colunas = sheet.getColumns();	    
   	
        Cell celula = null;
        for(int l = 1; l < linhas; l ++) {	
        	
        Date data = formatador.parse(sheet.getCell(0, l).getContents());	
        arqXLS.setData(new SimpleDateFormat("dd/MM/yyyy").format(data));
        System.out.print(arqXLS.getData());

Gostaria de saber como fazer para me trazer o ano corretamente.

4 Respostas

ssh

Aldeir:
Estou precisando ler os dados em um arquivo do excel, mas quando os dados são datas só me traz o ano com 2 digitos.
Exemplo: se o ano for 1991,2091 ele sempre me traz “01/01/0091”;

Estou usando a biblioteca jxl.

SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");	
ArquivoXLS arqXLS = new ArquivoXLS();
		
try {
	Workbook workbook = Workbook.getWorkbook(arquivoOrigem);

	Sheet sheet = workbook.getSheet(0);
	
	int linhas = sheet.getRows();
	int colunas = sheet.getColumns();	    
   	
        Cell celula = null;
        for(int l = 1; l < linhas; l ++) {	
        	
        Date data = formatador.parse(sheet.getCell(0, l).getContents());	
        arqXLS.setData(new SimpleDateFormat("dd/MM/yyyy").format(data));
        System.out.print(arqXLS.getData());

Gostaria de saber como fazer para me trazer o ano corretamente.


cara, uma vez usei essa biblioteca jxl e soh me deu problemas.

use o apache poi. bem melhor.

FernandoFranzini

http://poi.apache.org/

snowblacksoul

Cara eu fiz um aqui rapidinho espero que possa te ajudar!!! se alguém souber de uma forma mas fácil por favor peço que post aqui!

package lerarquivoxls;

import connection.ConnectionFactory;
import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

/**
 *
 * @author Axpe
 */
public class LerArquivoXls {

  private static int i;  
    private static int stringa1 ;  
    private static int stringa2 ;  
    private static int stringa3 ;  
    private static String stringa4 = null;  
    private static String stringa5 = null;  
    private static int stringa6 ;  
    private static int stringa7;  
    private static int stringa8;  
  
    /** 
     * @param args the command line arguments 
     */  
      
    public static void main(String []args) throws BiffException, IOException, SQLException, ClassNotFoundException{  

        SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");   
        GregorianCalendar call3 = new GregorianCalendar();
        
        System.out.println("Conectando ao Banco");
        Connection con = new ConnectionFactory().getConnection();
                System.out.println("Conectado ao Banco");

                /* pega o arquiivo do Excel */
                Workbook workbook = Workbook.getWorkbook(new File("C:/teste/Pasta1.xls"));

                /* pega a primeira planilha dentro do arquivo XLS */
                Sheet sheet = workbook.getSheet(0);

                //Pega a quantidade de linhas da planilha 
                int linhas = sheet.getRows();

                for (i = 1; i &lt; linhas; i++) {
                    /* pega os valores das células como se numa matriz */
                    Cell a1 = sheet.getCell(0, i);
                    Cell b2 = sheet.getCell(1, i);
                    
                    /* pega os conteúdos das células */
                    stringa4 = a1.getContents();
                    stringa5 = b2.getContents();
                                
                   String stringa5 = formatador.format(call3.getTime())             ;
                    
                    System.out.println(stringa4);
                    System.out.println(stringa5);
                    
                    /*Executa o insert para inserir os dados no banco */
                    PreparedStatement st = con.prepareStatement("insert into system.testeB(nome,registro)" + "Values('" + stringa1 + "','" + stringa2 + "')");
                    st.executeUpdate();
                    System.out.println("importando");
                    st.close();

                }
                System.out.println("Importado");
                System.exit(0);

        }
      
}

abraços

Aldeir

Valeu amigo, vou tentar.
Posto o resultado.

Criado 23 de fevereiro de 2012
Ultima resposta 23 de fev. de 2012
Respostas 4
Participantes 4