1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Importar dados Excel para BD Access ou SQL

Discussão em 'Programação' iniciada por Yokozuna, 9 de Outubro de 2007. (Respostas: 3; Visualizações: 3795)

  1. Yokozuna

    Yokozuna Power Member

    Boas,

    Estou a desenvolver(tentar) uma aplicação para meu uso para controlar as minhas despesas.
    Tenho os extractos bancários em formato Excel. Agora quero "sacar" campos específicos dessa folha Excel e exibi-los na tabela conforme o meu critério.
    Quando digo no título que é para importar para uma BD é porque penso que seja a melhor maneira.

    Já vi tanta cena na net mas nunca é bem aquilo que eu quero.
    Ah, em C# (ou VB, depois converto).
     
  2. Ansatsu

    Ansatsu Power Member

    Tenho isso a funcionar num programa que já fiz há uns tempos. de excel para access.

    Tens de adcionar nas referencias o microsoft.office.core e o interop do access. Tens de ter o office instalado no teu computador com o PIA. Se não o tiveres sacas do site da microsoft.


    Depois o codigo é algo deste estilo:

    Código:
    Microsoft.Office.Interop.Access.Application _accessData;
    
                _accessData = new Microsoft.Office.Interop.Access.ApplicationClass();
    
                _accessData.Visible = false;
    
                _accessData.NewCurrentDatabase(Application.StartupPath.ToString() + @"\vl10e.mdb");
    
                _accessData.CloseCurrentDatabase();
    
                _accessData.Quit(Microsoft.Office.Interop.Access.AcQuitOption.acQuitSaveAll);
                _accessData = null;
    
    
                string _filename;
                _filename = Application.StartupPath.ToString() + @"\encomendas.xls";
    
    
                string _conn;
    
                _conn = "Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=" + _filename + ";" +
    
                "Extended Properties=Excel 8.0;";
                OleDbConnection _connection = new OleDbConnection(_conn);
    
    
                OleDbCommand _command = new OleDbCommand();
    
                _command.Connection = _connection;
    
                try
                {
    
                    _command.CommandText = @"SELECT * INTO encomendas in '" + Application.StartupPath.ToString() + @"\vl10e.mdb' FROM [encomendas$]";
    
                    _connection.Open();
    
                    _command.ExecuteNonQuery();
    
                    _connection.Close();
    
    
                }
    
                catch (Exception)
                {
                        MessageBox.Show("Importação Tabela Encomendas falhou");
    
                }
     
  3. Yokozuna

    Yokozuna Power Member

    Ok, só posso ver melhor em casa ;) ... Obrigado antes de mais...
     
  4. Boas

    Tambem podes fazer o seguinte: linkas o ficheiro XLS como tabela do Access; em seguida usas ou query's ou acedes por recordset para manipulares os dados q pretendes.
     

Partilhar esta Página