Saltar al pie de página
USANDO IRONXL

C# CSV a XLSX: Convertir archivos CSV a formato Excel

La conversión de archivos CSV al formato XLSX permite acceder a funciones de hoja de cálculo que los archivos de valores separados por comas simplemente no ofrecen. Mientras que CSV almacena datos tabulares sin procesar, el formato XLSX de Excel admite fórmulas, varias hojas de cálculo, gráficos, formato de celdas y validación de datos, funciones que las aplicaciones empresariales modernas exigen. El proceso de conversión es sencillo con la biblioteca adecuada y solo requiere unas pocas líneas de código C#.

IronXL es una biblioteca .NET que maneja esta conversión directamente, sin necesidad de Microsoft Office ni del SDK Open XML. Lee el archivo CSV de origen, analiza los datos delimitados y escribe un libro de trabajo XLSX totalmente compatible. Instálelo a través de NuGet y comience una prueba gratuita para seguir los ejemplos de código a continuación.

¿Cómo convertir archivos CSV al formato XLSX en C#?

La conversión principal requiere cargar el archivo CSV y guardarlo en formato Excel. IronXL proporciona WorkBook.LoadCSV, que analiza la fuente delimitada y crea un libro de trabajo listo para exportar. El método acepta la ruta del archivo, el formato Excel de destino y el carácter delimitador.

using IronXL;

// Load CSV file and convert to XLSX format
WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Access the default worksheet containing CSV data
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Save as Excel XLSX file
workbook.SaveAs("output.xlsx");
using IronXL;

// Load CSV file and convert to XLSX format
WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Access the default worksheet containing CSV data
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Save as Excel XLSX file
workbook.SaveAs("output.xlsx");
$vbLabelText   $csharpLabel

Resultado

C# CSV a XLSX: una guía completa para desarrolladores: Imagen 1 - Ejemplo de salida para conversión de CSV a Excel

El método LoadCSV acepta tres parámetros clave: el nombre del archivo, la constante del formato de Excel de destino y el delimitador de lista utilizado en el archivo de origen. Este enfoque conserva todos los datos de cadena y los valores numéricos de la hoja CSV original, a la vez que crea un archivo XLSX correctamente estructurado. La clase WorkBook sirve como eje central para todas las operaciones de la hoja de cálculo. Una vez cargados, los datos CSV se vuelven accesibles a través de hojas de cálculo, lo que permite una mayor manipulación antes de guardar el archivo final de Excel.

Para cargar archivos XLSX existentes en lugar de CSV, utilice WorkBook.Load("file.xlsx") que detecta automáticamente el formato a partir de la extensión del archivo. Esto facilita la creación de canales que aceptan entradas CSV o Excel y las normalizan a un único formato de salida.

¿Cuáles son los beneficios de convertir formato CSV a Excel?

El formato XLSX ofrece ventajas mensurables sobre el formato CSV simple para la mayoría de los escenarios de gestión de datos:

  • Varias hojas de trabajo : los archivos de Excel admiten varias hojas dentro de un solo libro, lo que permite un almacenamiento de datos organizado que los archivos CSV no pueden igualar. Un solo archivo XLSX puede contener docenas de hojas de trabajo que abarcan diferentes períodos de tiempo, regiones o categorías.
  • Compatibilidad con fórmulas : escriba cálculos complejos, agregaciones y lógica condicional directamente en las celdas. Las fórmulas de Excel se recalculan automáticamente cuando cambian los datos de origen, lo que elimina la necesidad de reprocesar archivos CSV manualmente.
  • Gráficos visuales : cree gráficos de barras, gráficos de líneas, gráficos circulares y otras visualizaciones a partir de los datos de la hoja de cálculo. IronXL admite la creación de gráficos directamente a través de la API, por lo que los gráficos se integran en el archivo XLSX.
  • Formato de celda : controle fuentes, colores, bordes y formatos de números para documentos profesionales. Los archivos CSV almacenan únicamente valores sin procesar; XLSX conserva la capa de visualización junto con los datos.
  • Validación de datos : restrinja la entrada de celdas a valores o rangos específicos, lo que evita errores de ingreso de datos en archivos compartidos con los usuarios finales.
  • Protección con contraseña : proteja hojas de trabajo y libros de trabajo con contraseñas para controlar el acceso de lectura y escritura, una característica completamente ausente en CSV.

Estas capacidades hacen del formato XLSX la opción estándar para informes, paneles, modelos financieros y cualquier aplicación que requiera más que el almacenamiento de datos sin procesar.

¿Cómo instalar IronXL en un proyecto .NET ?

IronXL se distribuye como un paquete NuGet . Instálelo desde la consola del Administrador de paquetes en Visual Studio:

Install-Package IronXl
Install-Package IronXl
SHELL

O utilizando la CLI de .NET:

dotnet add package IronXl
dotnet add package IronXl
SHELL

Después de la instalación, agregue using IronXL; a cualquier archivo que funcione con hojas de cálculo. El paquete está destinado a .NET Framework 4.6.2+, .NET Core 3.1+, .NET 5 a .NET 10, y es compatible con entornos de implementación de Windows, Linux, macOS, Docker y Azure.

No se requieren dependencias de tiempo de ejecución adicionales ni instalación de Microsoft Office. IronXL lee y escribe archivos XLSX utilizando su propio analizador y escritor, lo que lo hace adecuado para implementaciones del lado del servidor y sin cabeza donde no se puede instalar Office.

¿Cómo se maneja la codificación CSV durante la conversión?

Muchos archivos CSV se originan en sistemas heredados, bases de datos internacionales o exportaciones de terceros que utilizan caracteres que no son ASCII. El manejo correcto de la codificación garantiza que los caracteres especiales y el texto internacional permanezcan intactos en el archivo XLSX resultante.

using IronXL;
using System.Text;

// Load CSV with explicit encoding specification
WorkBook workbook = WorkBook.LoadCSV("international-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",",
    encoding: Encoding.UTF8);

// Access the worksheet containing the encoded data
WorkSheet sheet = workbook.DefaultWorkSheet;

// Inspect a cell to verify encoding was preserved
string cellValue = sheet["A1"].StringValue;

// Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx");
using IronXL;
using System.Text;

// Load CSV with explicit encoding specification
WorkBook workbook = WorkBook.LoadCSV("international-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",",
    encoding: Encoding.UTF8);

// Access the worksheet containing the encoded data
WorkSheet sheet = workbook.DefaultWorkSheet;

// Inspect a cell to verify encoding was preserved
string cellValue = sheet["A1"].StringValue;

// Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx");
$vbLabelText   $csharpLabel

Archivo XLSX de salida

C# CSV a XLSX: una guía completa para desarrolladores: Imagen 2: CSV a XLSX con toda la codificación manejada

IronXL detecta automáticamente formatos de codificación comunes, incluido UTF-8, para la mayoría de los archivos CSV estándar. Para archivos con codificación no estándar, como Windows-1252, ISO-8859-1 o Shift-JIS, pase la instancia System.Text.Encoding a la llamada LoadCSV. La documentación de la clase Encoding en Microsoft Learn enumera todos los nombres de codificación admitidos.

Al obtener datos CSV de un servidor remoto, utilice HttpClient para descargar la transmisión, guárdela como un archivo temporal y luego cárguela a través de LoadCSV. Este patrón funciona en aplicaciones .NET alojadas en la nube donde los archivos CSV llegan como respuestas HTTP de API de terceros.

¿Cómo aplicar el formato de celda después de la conversión CSV?

Los datos CSV sin procesar no contienen información de formato. Después de convertir a XLSX, aplique formatos de números, fuentes y colores de fondo para que la hoja de cálculo sea legible y profesional.

using IronXL;
using IronXl.Styles;

// Load CSV data
WorkBook workbook = WorkBook.LoadCSV("sales-report.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Format the header row with bold text and background color
Range headerRow = sheet["A1:Z1"];
headerRow.Style.Font.Bold = true;
headerRow.Style.SetBackgroundColor("#4472C4");
headerRow.Style.Font.Color = "#FFFFFF";

// Apply currency format to a numeric column
Range priceColumn = sheet["C2:C100"];
priceColumn.Style.NumberFormat = "$#,##0.00";

// Auto-fit column widths for readability
sheet.AutoSizeColumn(0);
sheet.AutoSizeColumn(1);
sheet.AutoSizeColumn(2);

workbook.SaveAs("formatted-report.xlsx");
using IronXL;
using IronXl.Styles;

// Load CSV data
WorkBook workbook = WorkBook.LoadCSV("sales-report.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Format the header row with bold text and background color
Range headerRow = sheet["A1:Z1"];
headerRow.Style.Font.Bold = true;
headerRow.Style.SetBackgroundColor("#4472C4");
headerRow.Style.Font.Color = "#FFFFFF";

// Apply currency format to a numeric column
Range priceColumn = sheet["C2:C100"];
priceColumn.Style.NumberFormat = "$#,##0.00";

// Auto-fit column widths for readability
sheet.AutoSizeColumn(0);
sheet.AutoSizeColumn(1);
sheet.AutoSizeColumn(2);

workbook.SaveAs("formatted-report.xlsx");
$vbLabelText   $csharpLabel

IronXL expone el estilo de celdas y rangos a través de la propiedad Style, que refleja las opciones de formato disponibles en la interfaz de usuario de Excel. Los formatos de números siguen la sintaxis de formato de números de Excel documentada por Microsoft . El método SetBackgroundColor acepta cadenas de colores hexadecimales, lo que facilita la aplicación de colores de marca a los informes generados. Consulte la referencia completa de la API de formato de celda para conocer las propiedades de estilo disponibles.

¿Cómo puedes agregar gráficos después de convertir datos CSV?

Una vez que existen datos CSV en un libro de Excel, IronXL permite crear gráficos directamente a partir de esos datos. Los gráficos transforman números sin procesar en información visual sin necesidad de instalar Microsoft Excel en el servidor.

using IronXL;
using IronXl.Drawing.Charts;

// Load CSV and convert to Excel format
WorkBook workbook = WorkBook.LoadCSV("sales-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet worksheet = workbook.DefaultWorkSheet;

// Create a column chart from the converted CSV data
IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10);

// Add data series from the worksheet ranges
IChartSeries series = chart.AddSeries("A2:A10", "B2:B10");
series.Title = "Monthly Sales";

// Configure chart appearance
chart.SetTitle("Sales Performance");
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart and save the workbook
chart.Plot();
workbook.SaveAs("sales-with-chart.xlsx");
using IronXL;
using IronXl.Drawing.Charts;

// Load CSV and convert to Excel format
WorkBook workbook = WorkBook.LoadCSV("sales-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet worksheet = workbook.DefaultWorkSheet;

// Create a column chart from the converted CSV data
IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10);

// Add data series from the worksheet ranges
IChartSeries series = chart.AddSeries("A2:A10", "B2:B10");
series.Title = "Monthly Sales";

// Configure chart appearance
chart.SetTitle("Sales Performance");
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart and save the workbook
chart.Plot();
workbook.SaveAs("sales-with-chart.xlsx");
$vbLabelText   $csharpLabel

Resultado

C# CSV a XLSX: una guía completa para desarrolladores: Imagen 3: Salida para convertir un archivo CSV en un archivo Excel con un gráfico

El método CreateChart acepta el tipo de gráfico y cuatro parámetros de posicionamiento (fila superior, columna izquierda, fila inferior, columna derecha). El método AddSeries vincula rangos de celdas de la hoja de cálculo a los ejes del gráfico, creando visualizaciones dinámicas que se actualizan cuando cambian los datos subyacentes. IronXL admite gráficos de tipos de columnas, barras, líneas, áreas y circulares a través de la enumeración ChartType. Para obtener una lista completa de las configuraciones de gráficos compatibles, consulte el tutorial de gráficos de IronXL .

¿Cómo convertir un archivo CSV a una tabla de datos y luego a Excel?

Para escenarios que requieren manipulación de datos antes de la exportación, la conversión de datos CSV a través de un DataTable proporciona la máxima flexibilidad. Este enfoque permite a los desarrolladores filtrar, transformar, ordenar o validar filas durante el proceso de conversión utilizando patrones de acceso a datos .NET estándar.

using IronXL;
using System.Data;

// Load CSV file into workbook
WorkBook sourceWorkbook = WorkBook.LoadCSV("input.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Convert worksheet to DataTable for manipulation
DataTable table = sourceWorkbook.DefaultWorkSheet.ToDataTable(true);

// Filter rows -- keep only rows where the third column value is greater than 100
DataRow[] filtered = table.Select("Column3 > 100");
DataTable filteredTable = filtered.Length > 0 ? filtered.CopyToDataTable() : table.Clone();

// Create new workbook from modified data
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data");

// Import filtered DataTable back into Excel
outputSheet.LoadFromDataTable(filteredTable, true);

// Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx");
using IronXL;
using System.Data;

// Load CSV file into workbook
WorkBook sourceWorkbook = WorkBook.LoadCSV("input.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Convert worksheet to DataTable for manipulation
DataTable table = sourceWorkbook.DefaultWorkSheet.ToDataTable(true);

// Filter rows -- keep only rows where the third column value is greater than 100
DataRow[] filtered = table.Select("Column3 > 100");
DataTable filteredTable = filtered.Length > 0 ? filtered.CopyToDataTable() : table.Clone();

// Create new workbook from modified data
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data");

// Import filtered DataTable back into Excel
outputSheet.LoadFromDataTable(filteredTable, true);

// Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx");
$vbLabelText   $csharpLabel

Resultado

C# CSV a XLSX: una guía completa para desarrolladores: Imagen 4 - Salida de CSV a DataTable a XLSX

El método ToDataTable exporta datos de la hoja de cálculo a un .NET DataTable, con el parámetro booleano que controla si la primera fila se trata como encabezados de columna. LoadFromDataTable importa los datos nuevamente, escribiendo los encabezados de columna como la primera fila cuando el segundo parámetro es true. Esta conversión bidireccional permite el uso completo de las operaciones LINQ y ADO .NET entre la ingesta de CSV y la salida de Excel. Revise la documentación de IronXL DataTable para obtener opciones adicionales.

¿Cómo guardar un archivo XLSX en una secuencia en lugar de en una ruta de archivo?

Las aplicaciones del lado del servidor a menudo necesitan entregar archivos de Excel directamente a respuestas HTTP en lugar de escribir archivos temporales en el disco. IronXL admite guardar libros de trabajo en MemoryStream para este propósito.

using IronXL;
using System.IO;

// Load and convert CSV data
WorkBook workbook = WorkBook.LoadCSV("report-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Save workbook to a memory stream instead of a file
using MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);

// Reset stream position for reading
stream.Position = 0;

// The stream is now ready to pass to an HTTP response, upload to cloud storage,
// or attach to an email. For ASP.NET Core:
// return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx");

// Write bytes to verify stream contains XLSX data
byte[] xlsxBytes = stream.ToArray();
Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes");
using IronXL;
using System.IO;

// Load and convert CSV data
WorkBook workbook = WorkBook.LoadCSV("report-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Save workbook to a memory stream instead of a file
using MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);

// Reset stream position for reading
stream.Position = 0;

// The stream is now ready to pass to an HTTP response, upload to cloud storage,
// or attach to an email. For ASP.NET Core:
// return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx");

// Write bytes to verify stream contains XLSX data
byte[] xlsxBytes = stream.ToArray();
Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes");
$vbLabelText   $csharpLabel

Guardar en un stream evita operaciones de lectura/escritura en disco y elimina la necesidad de limpiar archivos temporales. Este patrón se usa ampliamente en los puntos finales de descarga de archivos ASP.NET Core donde el XLSX se genera a pedido. La sobrecarga SaveAs(Stream) escribe un archivo XLSX completo y válido en cualquier instancia de flujo escribible.

¿Cómo trabajar con varias hojas de trabajo en un libro convertido?

Un solo libro de trabajo XLSX puede contener varias hojas de trabajo. Después de convertir un archivo CSV, el libro de trabajo contiene una hoja de forma predeterminada. Se pueden crear hojas adicionales mediante programación para organizar datos relacionados.

using IronXL;

// Load primary CSV data
WorkBook workbook = WorkBook.LoadCSV("quarterly-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Rename the default sheet created from the CSV
WorkSheet q1Sheet = workbook.DefaultWorkSheet;
q1Sheet.Name = "Q1 Data";

// Create additional worksheets for summary information
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");

// Write summary headers and formulas
summarySheet["A1"].Value = "Total Records";
summarySheet["B1"].Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1";

summarySheet["A2"].Value = "Data Sheet";
summarySheet["B2"].Value = q1Sheet.Name;

// Save the multi-sheet workbook
workbook.SaveAs("multi-sheet-report.xlsx");
using IronXL;

// Load primary CSV data
WorkBook workbook = WorkBook.LoadCSV("quarterly-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Rename the default sheet created from the CSV
WorkSheet q1Sheet = workbook.DefaultWorkSheet;
q1Sheet.Name = "Q1 Data";

// Create additional worksheets for summary information
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");

// Write summary headers and formulas
summarySheet["A1"].Value = "Total Records";
summarySheet["B1"].Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1";

summarySheet["A2"].Value = "Data Sheet";
summarySheet["B2"].Value = q1Sheet.Name;

// Save the multi-sheet workbook
workbook.SaveAs("multi-sheet-report.xlsx");
$vbLabelText   $csharpLabel

El método CreateWorkSheet agrega una nueva hoja vacía al libro de trabajo. Se puede acceder a las hojas por nombre o por índice a través de workbook.WorkSheets. Las referencias de fórmulas entre hojas utilizan la notación estándar de Excel 'SheetName'!CellRef. Para obtener más información sobre operaciones con varias hojas, consulte la guía de hojas de trabajo múltiples de IronXL .

¿Cuales son tus próximos pasos?

Convertir archivos CSV a XLSX en C# con IronXL requiere solo unas pocas líneas de código y produce un libro de Excel totalmente compatible sin ninguna dependencia de Microsoft Office. Los ejemplos anteriores cubren el flujo de trabajo completo, desde la carga y el guardado básicos de CSV hasta el manejo de codificación, el formato de celdas, la creación de gráficos, la integración de DataTable, la salida de secuencias y los libros de trabajo de varias hojas.

Capacidades clave cubiertas en esta guía:

  • Conversión básica de CSV a XLSX con WorkBook.LoadCSV y SaveAs
  • Especificación de codificación para conjuntos de caracteres internacionales
  • Formato de celda y rango aplicado después de la conversión
  • Creación de gráficos incrustados directamente en el archivo XLSX
  • Viaje de ida y vuelta de DataTable para datos filtrados y transformados
  • Salida de MemoryStream para la entrega de archivos del lado del servidor
  • Construcción de libros de trabajo de varias hojas a partir de una única fuente CSV

IronXL es compatible con implementaciones de Windows, Linux, macOS, Docker y Azure en .NET Framework, .NET Core y .NET 5 a 10. Para explorar más capacidades, revise la documentación de IronXL , explore la referencia de objetos de la API de Excel o consulte las guías prácticas de IronXL para temas como leer archivos de Excel , combinar celdas y aplicar fórmulas . Descargue una prueba gratuita para probar todas las funciones en un entorno de desarrollo o compre una licencia para implementación en producción.

Empiece con IronXL ahora.
green arrow pointer

Preguntas Frecuentes

¿Cómo convertir un archivo CSV a XLSX en C# sin Microsoft Office?

Utilice el método WorkBook.LoadCSV de IronXL para cargar el archivo CSV y, a continuación, llame a workbook.SaveAs('output.xlsx') para escribir el archivo XLSX. IronXL no requiere Microsoft Office ni el SDK de Open XML; lee y escribe archivos de Excel con su propio analizador.

¿Qué paquete NuGet se utiliza para convertir CSV a Excel en C#?

Instale el paquete NuGet IronXL mediante " Install-Package IronXL" en Visual Studio o "dotnet add package IronXL" desde la CLI de .NET . El paquete es compatible con .NET Framework 4.6.2 y versiones posteriores, así como con todos los entornos de ejecución de .NET Core y .NET 5 a 10.

¿Cómo se especifica el delimitador al cargar un archivo CSV con IronXL?

Pase el parámetro ListDelimiter a WorkBook.LoadCSV, por ejemplo: WorkBook.LoadCSV('data.csv', fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ',') para archivos separados por comas o ListDelimiter: ';' para archivos separados por punto y coma.

¿Puede IronXL manejar archivos CSV con caracteres no ASCII o internacionales?

Sí. Pase una instancia de System.Text.Encoding al parámetro de codificación de LoadCSV. IronXL detecta automáticamente UTF-8 para la mayoría de los archivos estándar. Para codificaciones Windows-1252, ISO-8859-1 u otras, especifique la codificación explícitamente para conservar los caracteres internacionales.

¿Cómo agregar un gráfico a un archivo Excel generado a partir de datos CSV usando IronXL?

Después de cargar el archivo CSV, ejecute worksheet.CreateChart(ChartType.Column, top, left, bottom, right) para crear un gráfico. Luego, use chart.AddSeries para vincular rangos de celdas y ejecute chart.Plot() antes de guardar. IronXL admite gráficos de columnas, barras, líneas, áreas y circulares.

¿Cómo guardar un archivo XLSX generado en un MemoryStream para una respuesta HTTP en ASP.NET Core?

Llama a workbook.SaveAs(stream), donde stream es una instancia de MemoryStream, y luego restablece stream.Position a 0 antes de devolverlo. En un controlador ASP.NET Core , devuelve File(stream, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'report.xlsx').

¿Puede IronXL convertir datos CSV a un DataTable antes de escribirlos en Excel?

Sí. Cargue el CSV con LoadCSV y luego ejecute workbook.DefaultWorkSheet.ToDataTable(true) para exportarlo a una DataTable. Después de filtrar o transformar los datos, cree un nuevo libro de trabajo y ejecute outputSheet.LoadFromDataTable(table, true) para importar los datos modificados.

¿ IronXL admite varias hojas de cálculo al convertir desde CSV?

Sí. Tras cargar un archivo CSV, el libro contiene una hoja predeterminada. Llame a workbook.CreateWorkSheet('SheetName') para agregar hojas adicionales. Las hojas pueden referenciarse entre sí mediante la sintaxis estándar de fórmulas de Excel para hojas cruzadas.

¿Qué versiones y plataformas .NET admite IronXL ?

IronXL es compatible con .NET Framework 4.6.2 y versiones posteriores, .NET Core 3.1 y .NET 5 a .NET 10. Funciona en Windows, Linux, macOS, Docker y Azure, lo que lo hace adecuado tanto para implementaciones de escritorio como de servidor.

¿Cómo se aplican formatos de celda como encabezados en negrita y formatos de números después de la conversión CSV?

Después de cargar el CSV, acceda a un rango con sheet['A1:Z1'] y configure Style.Font.Bold = true, Style.SetBackgroundColor('#hex') o Style.NumberFormat = '$#,##0.00'. IronXL expone la API completa de estilos de Excel mediante la propiedad Style en celdas y rangos.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me