Pedro B Posted October 1, 2012 at 01:48 AM Report #477260 Posted October 1, 2012 at 01:48 AM (edited) Boas pessoal, este post não é acerca de nenhuma dúvida que eu tenha, pelo contrário, apenas decidi partilhar uma forma de ler um ficheiro Microsoft Excel usando um DataSet e um DataTableReader. A razão para isto é que eu estava precisar de o fazer e fiz umas pesquisas pela internet mas o código que encontrei não usava o DataTableReader. Mas usando o DataTableReader tornamos o código muito menos extenso, portanto decidi postar aqui a minha forma de ler o ficheiro, espero que possa ajudar alguém que possa vir a precisar. E aqui está o código que lê o ficheiro Excel: String folhaCalculo = "Nome_da_folha_de_Calculo"; OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + caminho_para_o_ficheiro + ";Extended Properties=Excel 12.0;"); con.Open(); DataSet excelDataSet = new DataSet(); OleDbDataAdapter query = new OleDbDataAdapter(" SELECT * FROM [" + nome_da_folha_de_calculo + "$]", con); DataTable dataTable = new DataTable(); query.Fill(dataTable); DataTableReader tblReader = new DataTableReader(dataTable); while (tblReader.Read()) { // A primeira célula de cada coluna não é lida como dados, mas sim como o identificador dessa coluna <RichTextBox>.AppendText(tblReader["Nome_Da_Primeira_Célula_Da_Coluna"].ToString()); } con.Close(); Para ler ficheiros .xlsx é necessário descarregar o ACE da Microsoft para ler a partir do ficheiro Excel, que pode ser facilmente descarregado deste link: http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en E usa-se a connection string que usei em cima: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + <caminho_para_o_ficheiro> + ";Extended Properties=Excel 12.0;" Esta funciona mesmo para o Office 2010 Para ler ficheiros .xls usa-se o Jet, também da Microsoft, mas que não é necessário descarregar e a connection string: "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" + <caminho_para_o_ficheiro> + ";Extended Properties=""Excel 8.0;HDR=YES;""" Penso que está tudo e que não há erros. Espero que este post possa vir a servir de ajuda. Edited October 1, 2012 at 01:49 AM by Pedro B
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now