Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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.
CargarCSV
método para leer archivos CSVExiste
en C#ToDataTable
métodoGuardar como
para exportar archivos Excel, mientras que los datos CSV se convierten automáticamente a ExcelPrimero 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, Administrar paquetes NuGet, y Buscar IronXL.Excel
, e Instalar.
Instale el paquete IronXL en el gestor de paquetes NuGet.
IronXL es una gran herramienta que puede utilizar cuando necesiteleer 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 en formato CSV para este tutorial
El objetoLibro de trabajo se crea. El objeto `WorkBookCargarCSV se utiliza para indicar el nombre del archivo CSV, su formato y los delimitadores utilizados en el archivo CSV que se está leyendo, que se almacenan como una matriz de cadenas. Las comas se utilizan como delimitadores en este escenario.
Después de eso, unHoja de trabajo se crea el objeto; 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 fichero Excel
Los CSV tienen varios problemas con el tratamiento de los saltos de línea en los campos y con el hecho de que los campos puedan ir entre comillas, lo que impide que funcione una simple técnica de división de cadenas Split("'")
. En su lugar, IronXL ofrece personalizar el delimitador utilizando un parámetro opcional del método LoadCSV
, consulte la documentación de la API deCargarCSV para más detalles.
En el ejemplo siguiente, el foreach
se utiliza para recorrer las filas del archivo CSV, y la Consola se utiliza 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
Acceder a los datos de un fichero CSV y visualizarlos 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 IronXL WorkBook
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
pueden encontrarse 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 funciones para interactuar con Excel WorkBook, WorkSheet y Cells level, tales comoconversión entre formatos populares, formato de datos de celda, fusión de celdas, insertar funciones matemáticase incluso la gestión de gráficos yañadir imágenes.
Puede lanzar sin marca de agua utilizandoClaves de licencia de prueba de IronXL.
Las licencias cuestan a partir de $749 e incluyen un año de asistencia y actualizaciones gratuitas.
IronPDF, IronXL, IronOCR, IronBarcode y IronWebscraper forman parte dela suite 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.
9 productos API .NET para sus documentos de oficina