Html export - EPPlus.WebSampleMvc.NetCore (original) (raw)

Some selected parts of the model class for this page

        `

public void SetupSampleData(int theme, TableStyles? style = TableStyles.Dark1) { // This method just fakes some data into a data table InitDataTable();

using(var package = new ExcelPackage())
{
    SetTheme(theme, package);

    var sheet = package.Workbook.Worksheets.Add("Html export sample 1");
    var tableRange = sheet.Cells["A1"].LoadFromDataTable(_dataTable, true, style);
    // set number format for the BirthDate column
    sheet.Cells[tableRange.Start.Row + 1, 4, tableRange.End.Row, 4].Style.Numberformat.Format = "yyyy-MM-dd";
    tableRange.AutoFitColumns();

    var table = sheet.Tables.GetFromRange(tableRange);

    // table properties
    table.ShowFirstColumn = this.ShowFirstColumn;
    table.ShowLastColumn = this.ShowLastColumn;
    table.ShowColumnStripes = this.ShowColumnStripes;
    table.ShowRowStripes = this.ShowRowsStripes;

    // Export Html and CSS
    var exporter = table.CreateHtmlExporter();
    exporter.Settings.Minify = false;
    Css = exporter.GetCssString();
    Html = exporter.GetHtmlString();
    WorkbookBytes = package.GetAsByteArray();
}

}

private static void SetTheme(int theme, ExcelPackage package) { if (theme > 0) { var fileInfo = default(FileInfo); switch (theme) { case 1: fileInfo = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"themes\Ion.thmx")); break; case 2: fileInfo = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"themes\Banded.thmx")); break; case 3: fileInfo = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"themes\Parallax.thmx")); break; default: fileInfo = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"themes\Ion.thmx")); break; } package.Workbook.ThemeManager.Load(fileInfo); } }

public string Css { get; set; }

public string Html { get; set; } `