Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Este tutorial demuestra cómo leer un archivo CSV usando la librería IronXL C# sin instalar interoperabilidad adicional, de una manera altamente eficiente y efectiva.
LoadCSV
para leer el archivo CSVExists
en C#ToDataTable
SaveAs
para exportar el archivo de Excel, mientras los datos CSV se convierten a Excel automáticamentePrimero debe instalar IronXL antes de utilizarlo para leer archivos CSV en MVC, ASP.NET o .NET Core. He aquí un resumen básico del proceso.
Seleccione el menú Proyecto en Visual Studio, Administre Paquetes NuGet, busque IronXL.Excel
e Instale.
Instala el paquete IronXL en el Administrador de Paquetes NuGet
IronXL es una herramienta excelente para usar cuando necesitas leer archivos CSV en C#. El siguiente ejemplo de código muestra que puede leer un archivo CSV utilizando comas u otro delimitador.
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
Datos CSV para este tutorial
Se crea el objeto WorkBook
. El método LoadCSV del objeto WorkBook
se utiliza para indicar el nombre del archivo CSV, su formato y los delimitadores utilizados en el archivo CSV que se está leyendo, los cuales se almacenan como un array de cadenas. Las comas se utilizan como delimitadores en este escenario.
Después de eso, se crea un objeto WorkSheet
; aquí es donde se almacenará el contenido del archivo CSV. A continuación, se cambia el nombre del archivo y se almacena en un nuevo formato. A continuación, los datos del archivo CSV se ordenan en la hoja de cálculo en forma de tabla. El resultado será algo parecido a esto:
Datos convertidos en archivo Excel
Los archivos CSV tienen varios problemas relacionados con el manejo de los saltos de línea en los campos y cómo los campos pueden estar encerrados entre comillas, lo que impide que una técnica simple de división de cadenas funcione Split("'")
. En su lugar, IronXL ofrece personalizar el delimitador utilizando el parámetro opcional del método LoadCSV
, consulte la documentación de la API de LoadCSV
para más detalles.
En el ejemplo a continuación, se utiliza foreach
para iterar sobre las filas en el archivo CSV, y se utiliza la Consola para escribir los datos en un registro.
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
{
Console.Write(row [i] + " ");
}
Console.WriteLine();
}
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
foreach (DataRow row in dt.Rows) //access rows
{
for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
{
Console.Write(row [i] + " ");
}
Console.WriteLine();
}
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
Dim dt As DataTable = ws.ToDataTable(True) 'parse sheet1 of sample.xlsx file into datatable
For Each row As DataRow In dt.Rows 'access rows
For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
Console.Write(row (i) & " ")
Next i
Console.WriteLine()
Next row
Accediendo a datos desde un archivo CSV y mostrando en la Consola
El procedimiento es sencillo: cargar un archivo CSV y guardarlo como archivo Excel.
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("CsvToExcelConversion.xlsx")
La clase WorkBook
de IronXL representa una hoja de Excel y utiliza esta clase para abrir un archivo de Excel en C#. Los siguientes ejemplos de código cargarán el archivo Excel deseado en un objeto WorkBook:
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
Los objetos WorkSheet
se pueden encontrar en numerosos WorkBooks. Son las hojas de cálculo del documento Excel. Si el libro de trabajo tiene hojas de cálculo, puede obtenerlas por nombre haciendo lo siguiente:
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
Código para leer los valores de las celdas:
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet ["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Ranges of cells elegantly.
For Each cell In worksheet ("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
El siguiente ejemplo de código puede actualizar fórmulas o aplicarlas a celdas específicas después de cargar y leer el libro y la hoja de trabajo. El código es el siguiente:
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
// Set Formulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();
' Set Formulas
worksheet ("A1").Formula = "Sum(B8:C12)"
worksheet ("B8").Formula = "=C9/C11"
worksheet ("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets.
workbook.EvaluateAll()
IronXL transforma CSV a Excel con sólo dos líneas de código, además de procesar CSV en C#.
Sin necesidad de Interop, utilizar la API Excel de IronXL es pan comido. Además, IronXL también ofrece una amplia gama de características para interactuar con el nivel de Excel WorkBook, WorkSheet y Cells, como convertir entre formatos populares, formato de datos de celda, unir celdas, insertar funciones matemáticas, e incluso gestionar gráficos y añadir imágenes.
Puede iniciar sin una marca de agua utilizando claves de licencia de prueba de IronXL.
Las licencias comienzan en $749 e incluyen un año de soporte y actualizaciones gratuitos.
IronPDF, IronXL, IronOCR, IronBarcode y el IronWebscraper son todos parte de la suite de Iron Software. Iron Software le permite adquirir su paquete completo a un precio reducido. Puedes utilizar todas esas herramientas al precio de dos.
Sin duda, es una opción que merece la pena explorar.