Straightforward and easy way to create stylized excel workbooks from lists. Add an image, title, subtitles and overal cell styles/formats. Uses the EPPlus engine, you can check them out at:
https://github.com/EPPlusSoftware/EPPlus
In the below examples outputFileName is a string identifying a full path file name and shelfLifeData is a list of ShelfLife type objects.
You can run these same examples in the Testing project.
var wb = new ExcelWorkBook();
wb.AddSheet("Shelf Life", shelfLifeData);
wb.SaveAs(outputFileName);
A style object has been provided for the rest of the examples
var wb = new ExcelWorkBook();
var style = new ExcelStyleConfig
{
Title = "Product Shelf Life List",
Subtitles = new string[]
{
"As of 2/1/06",
"Compiled by the Food Bank",
"From National Manufactures"
},
BackdropColor = Color.Lavender,
DataBackgroundColor = Color.LightGoldenrodYellow
};
wb.AddSheet("Shelf Life", shelfLifeData, style);
wb.SaveAs(outputFileName);
var wb = new ExcelWorkBook();
var style = new ExcelStyleConfig
{
Title = "Product Shelf Life List",
Subtitles = new string[]
{
"As of 2/1/06",
"Compiled by the Food Bank",
"From National Manufactures"
},
TitleImage = new Picture()
{
FromBase64 = "iVBORw..." // string trucated for brevity of example
}
};
wb.AddSheet("Shelf Life", shelfLifeData, style);
wb.SaveAs(outputFileName);
With title, subtitles, image from file (sheetOneStyle) and url (sheetTwoStyle), two sheets and cell stylings
var wb = new ExcelWorkBook();
var sheetOneStyle = new ExcelStyleConfig
{
Title = "Product Shelf Life List",
Subtitles = new string[]
{
"As of 2/1/06",
"Compiled by the Food Bank",
"From National Manufactures"
},
TitleImage = new Picture()
{
FromFile = @"x:\titleImage.jpg"
}
};
var sheetTwoStyle = new ExcelStyleConfig
{
Title = "Food Nutrient Information",
Subtitles = new string[]
{
"List of EDNP products",
"Audited by category"
},
TitleImage = new Picture()
{
FromUrl = @"http://www.images.com/titleImage.jpg"
},
ShowGridLines = false,
DataBorderAround = true,
DataBorder = true,
DataBorderColor = Color.CadetBlue,
HeaderBackgroundColor = Color.Yellow,
HeaderFontColor = Color.Black
};
wb.AddSheet("Shelf Life", shelfLifeData, sheetOneStyle);
wb.AddSheet("Food Nutrients", foodInfoData, sheetTwoStyle);
wb.SaveAs(outputFileName);
var wb = new ExcelWorkBook();
var style = new ExcelStyleConfig
{
Title = "Food Nutrient Information",
Subtitles = new string[]
{
"List of EDNP products",
"Audited by category"
},
TitleImage = new Picture()
{
FromBase64 = "iVBORw..." // string trucated for brevity of example
},
ShowGridLines = false,
DataBorderAround = true,
DataBorder = true,
DataBorderColor = Color.CadetBlue,
HeaderBackgroundColor = Color.Yellow,
HeaderFontColor = Color.Black,
ExcludedColumnIndexes = new int[]
{
2, 4
}
};
wb.AddSheet("Food Nutrients", shelfLifeData, style);
wb.SaveAs(outputFileName);
ShowHeaders: Enable to show headers (taken from the property name), defaults to true
ShowGridLines: Enable to show grid lines, defaults to true
AutoFitColumns: Enable to match the width of the column to the data length, defaults to true
FreezePanes: Enable to freeze the first row, defaults to true
PaddingColumns: Gets or sets the number of columns to insert before column A, defaults to 0
PaddingRows: Gets or sets the number of rows to insert before row 1, defaults to 0
ExcludedColumnIndexes: Gets or sets which columns to exclude by index, range must be between 1 and the total number of columns, defaults to new int[0]
UsePropDisplayName: Enable to use the propery DisplayName attribute value, if available, for the column name, defaults to true
BackdropColor: Gets or set the backdrop color of the entire sheet, defaults to null
Title: Gets or sets the title of the sheet, defaults to null
Subtitles: Gets or sets the subtitles of the sheet, defaults to new string[0]
TitleImage: Gets or sets an image to be placed on the sheet, defaults to new Picture()
FromBase64: Gets or sets image from Base64, defaults to null
FromFile: Gets or sets image from file, defaults to null
FromUrl: Gets or sets image from url, defaults to null
HasValue: Indicates if at least one image source has value, defaults to false
IsValid: Indicates if value is valid, no source or more than one source (false), only one source (true), defaults to false
DateFormat: Gets or sets custom Excel format string, defaults to m/d/yyyy
DecimalFormat: Gets or sets custom Excel format string, defaults to #,##0.00_);[Red]-#,##0.00
DoubleFormat: Gets or sets custom Excel format string, defaults to #,##0.00_);[Red]-#,##0.00
IntFormat: Gets or sets custom Excel format string, defaults to #,##0_);[Red]-#,##0
* Uses Excel type data formatting
DataFontColor: Gets or sets data cell font color, defaults to null
DataBackgroundColor: Gets or sets data cell background color, defaults to null
DataBorder: Enable to draw a border around each data cell, defaults to false
DataBorderAround: Enable to draw a border around the data range, defaults to false
DataBorderColor: Gets or sets the border color around each data cell, defaults to Color.Black
DataBorderAroundColor: Gets or sets the border color around the data range, defaults to Color.Black
DataBorderStyle: Gets or sets the border style around each data cell, defaults to ExcelBorderStyle.Thin
DataBorderAroundStyle: Gets or sets the border style around the data range, defaults to ExcelBorderStyle.Thin
HeaderFontColor: Gets or sets the header font color, defaults to Color.LightGray
HeaderBackgroundColor: Gets or sets the header background color, defaults to Color.DarkSlateGray
HeaderBorder: Enable to draw a border around each header cell, defaults to false
HeaderBorderAround: Enable to draw a border around the header range, defaults to false
HeaderBorderColor: Gets or sets the border color around each header cell, defaults to Color.Black
HeaderBorderAroundColor: Gets or sets the border color around the header range, defaults to Color.Black
HeaderBorderStyle: Gets or sets the border style around each header cell, defaults to ExcelBorderStyle.Thin
HeaderBorderAroundStyle: Gets or sets the border style around the header range, defaults to ExcelBorderStyle.Thin
FullFileName: Gets or sets the full file path for the generated Excel file
GetBytesArray(): Returns the ExcelWorkBook bytes array
AddSheet(string sheetName): Adds a sheet to the worksheet, will apply style config if provided
RemoveSheet(string sheetName): Removes a sheet from the worksheet
ClearWorkSheet(): Removes all sheets from worksheet
SheetExists(string sheetName): Checks if a specific sheet exists
Save(): Saves the workbook to an Excel (FullFileName property must be set)
SaveAs(): Saves the workbook to an Excel file
Open(): Opens saved Excel file with OS default program
For new features you can contact me at raulmarquezi@gmail.com




