leer un archivo xslx y convertirlo a List
Frecuentes
Visto 29,711 veces
0
Tengo un archivo xslx con los siguientes datos
www.url.com
www.url.com
www.url.com
www.url.com
www.url.com
www.url.com
www.url.com
www.url.com
...
Como puede ver, solo tengo 1 columna utilizada y muchas filas. Necesito leer esa columna del archivo xslx de alguna manera y convertirla a List<string>
.
¿Alguna ayuda?
¡Gracias!
4 Respuestas
9
Puede usar el EP Plus, es simple, algo como esto:
var ep = new ExcelPackage(new FileInfo(excelFile));
var ws = ep.Workbook.Worksheets["Sheet1"];
var domains = new List<string>();
for (int rw = 1; rw <= ws.Dimension.End.Row; rw++)
{
if (ws.Cells[rw, 1].Value != null)
domains.Add(ws.Cells[rw, 1].Value.ToString());
}
Respondido el 25 de enero de 18 a las 18:01
4
la forma más fácil es usar OleDb, puedes hacer algo como esto:
List<string> values = new List<string>();
string constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\your\\path\\file.xlsx;Extended Properties=\"Excel 12.0 Xml;HDR=NO;\"";
using (OleDbConnection conn = new OleDbConnection(constr))
{
conn.Open();
OleDbCommand command = new OleDbCommand("Select * from [SheetName$]", conn);
OleDbDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
// this assumes just one column, and the value is text
string value = reader[0].ToString();
values.Add(value);
}
}
}
foreach (string value in values)
Console.WriteLine(value);
contestado el 22 de mayo de 12 a las 16:05
2
Puede usar OOXML para leer el archivo y esta biblioteca simplifica su trabajo http://simpleooxml.codeplex.com.
contestado el 22 de mayo de 12 a las 15:05
1
¿Has probado usar XML cerrado? Súper simple de hacer.
var wb = new XLWorkbook(FileName);
var ws2 = wb.Worksheet(1);
List<string> myData = new List<string>();
foreach (var r in ws2.RangeUsed().RowsUsed())
{
myData.Add(r.Cell(1).GetString());
}
Respondido el 17 de junio de 21 a las 20:06
Hice la pregunta hace 10 años :') ya no sé. Gracias por contribuir - Özkan
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# asp.net .net xlsx or haz tu propia pregunta.
Bueno, para resolver lo obvio, ¿tienes Sheet1 en tu Excel? Y si tienes uno, ¿por casualidad está vacío? - antonio bakula
He seguido esto pero da, no puede cubrir desde 'grupo de método' hasta 'cadena' - Phil3992
en que linea al último le faltaban corchetes en ToString, lo arregló - antonio bakula