leer datos desde una planilla excel (xls,xslx) con oledb en C#
Una forma sencilla para leer datos desde una planilla excel (formato xlx o xlsx), es a través de un adaptador OleDB, siempre y cuando tengamos instalado una versión reciente de Office en el sistema.
El siguiente script imprime las dos primeras colunas de la hoja 1.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using System.Data; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { String file = "D:\\xampp\\xampp\\htdocs\\sln-ats\\files\\ATS_SLNKEY_20121204.xls"; OleDbConnection con = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + file + ";Mode=ReadWrite;Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\""); con.Open(); DataSet dset = new DataSet(); OleDbDataAdapter dadp = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", con); dadp.TableMappings.Add("tbl", "Table"); dadp.Fill(dset); DataTable table = dset.Tables[0]; for (int i = 0; i < table.Rows.Count; i++) { Console.Write(table.Rows[i][0] + "\t" + table.Rows[i][1] + "\n"); } Console.ReadKey(); } } }
Podrias explicarlo un poco mejor? Gracias!
Gracias lo explicaste de manera muy sencilla y facil.