Entradas

Mostrando las entradas de abril, 2019

Generar archivos de Excel en C#, fácilmente con EPPlus

Limitaciones

  • No se pueden evaluar fórmulas
  • Únicamente el estilo "Normal" está definido (Hay que definir el estilo de "Contabilidad", para poder usar el formato de moneda).

Páquete de Nuget

Install-Package EPPlus

Referencias

using System.IO;
using System.Drawing;

using OfficeOpenXml;
using OfficeOpenXml.Style;
using OfficeOpenXml.Style.XmlAccess;

Código

FileStream fs = new FileStream("prueba.xlsx", FileMode.Create);
ExcelPackage Excel = new ExcelPackage(fs);

/* Creación del estilo. */
Excel.Workbook.Styles.CreateNamedStyle("Moneda");
ExcelNamedStyleXml moneda = Excel.Workbook.Styles.NamedStyles[1];// 0 = Normal, 1 (El que acabamos de agregar).

moneda.Style.Numberformat.Format = "_-$* #,##0.00_-;-$* #,##0.00_-;_-$* \"-\"??_-;_-@_-";
moneda.Style.Fill.PatternType = ExcelFillStyle.Solid;
moneda.Style.Fill.BackgroundColor.SetColor(Color.Yellow);

/* Creación de hoja de trabajo. */
Excel.Workbook.Worksheets.Add("Hoja de Prueba 1");
ExcelWorksheet hoja = Excel.Workbook.Worksheets["Hoja de Prueba 1"];

/* Num Caracteres + 1.29 de Margen.
Los índices de columna empiezan desde 1. */
hoja.Column(1).Width = 11.29f;
            
ExcelRange rango = hoja.Cells["A1"];

rango.Value = 1.0M;
rango.StyleName = "Moneda";

Excel.Save();
            
// No estoy seguro de ésta parte, pero mejor cerramos el stream de archivo.
fs.Close();
fs.Dispose();
            
Excel.Dispose();

Referencias