Skip to content

RaulMarquezInclan/ExcelFromList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 

Repository files navigation

ExcelFromList

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.

With default styles (no style object provided)

var wb = new ExcelWorkBook();
wb.AddSheet("Shelf Life", shelfLifeData);
wb.SaveAs(outputFileName);

Default styles

A style object has been provided for the rest of the examples

With title, subtitles, backdrop color and data background color

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);

Title and subtitles

With title, subtitles and image from Base64

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);

Title, subtitles and image

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);

Title, subtitles, image and two sheets

With title, subtitles, image from Base64, skipping two columns and cell stylings

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);

Title, subtitles, image, skipping three rows and cell stylings

Documentation

ExcelStyleConfig class

Sheet configs

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 configs

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

Data type formatting

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

Data cell configs

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

Header cell configs

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

ExcelWorkBook class

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

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages