View Full Version : Importar dados Excel para BD Access ou SQL


Yokozuna
09-10-2007, 09:54
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).

Ansatsu
09-10-2007, 17:29
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:

Microsoft.Office.Interop.Access.Application _accessData;

_accessData = new Microsoft.Office.Interop.Access.ApplicationClass() ;

_accessData.Visible = false;

_accessData.NewCurrentDatabase(Application.Startup Path.ToString() + @"\vl10e.mdb");

_accessData.CloseCurrentDatabase();

_accessData.Quit(Microsoft.Office.Interop.Access.A cQuitOption.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");

}

Yokozuna
09-10-2007, 18:29
Ok, só posso ver melhor em casa ;) ... Obrigado antes de mais...

bSOFT
12-10-2007, 18:35
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.