static void RichTextFormatting(Stream stream, XlDocumentFormat documentFormat) { // Create an exporter instance. IXlExporter exporter = XlExport.CreateExporter(documentFormat); // Create a new document. using (IXlDocument document = exporter.CreateDocument(stream)) { document.Options.Culture = CultureInfo.CurrentCulture; #region #RichTextFormatting // Create a new worksheet. using (IXlSheet sheet = document.CreateSheet()) { // Create the first column and set its width. using (IXlColumn column = sheet.CreateColumn()) { column.WidthInPixels = 180; } // Create the first row. using (IXlRow row = sheet.CreateRow()) { // Create the cell A1. using (IXlCell cell = row.CreateCell()) { // Create an XlRichTextString instance. XlRichTextString richText = new XlRichTextString(); // Add three text runs to the collection. richText.Runs.Add(new XlRichTextRun("Formatted ", XlFont.CustomFont("Arial", 14.0, XlColor.FromArgb(0x53, 0xbb, 0xf4)))); richText.Runs.Add(new XlRichTextRun("cell ", XlFont.CustomFont("Century Gothic", 14.0, XlColor.FromArgb(0xf1, 0x77, 0x00)))); richText.Runs.Add(new XlRichTextRun("text", XlFont.CustomFont("Consolas", 14.0, XlColor.FromArgb(0xe3, 0x2c, 0x2e)))); // Add the rich formatted text to the cell. cell.SetRichText(richText); } } } #endregion #RichTextFormatting } }
static void CustomFormatting(Stream stream, XlDocumentFormat documentFormat) { // Create an exporter instance. IXlExporter exporter = XlExport.CreateExporter(documentFormat); // Create a new document. using (IXlDocument document = exporter.CreateDocument(stream)) { document.Options.Culture = CultureInfo.CurrentCulture; // Create a worksheet. using (IXlSheet sheet = document.CreateSheet()) { // Create columns "A", "B" and "C" and set their widths. int[] widths = new int[] { 165, 120, 100 }; for (int i = 0; i < 3; i++) { using (IXlColumn column = sheet.CreateColumn()) column.WidthInPixels = widths[i]; } #region #CustomFormatting // Create the first row in the worksheet from which the table starts. using (IXlRow row = sheet.CreateRow()) { XlNumberFormat accounting = @"_([$$-409]* #,##0.00_);_([$$-409]* \(#,##0.00\);_([$$-409]* ""-""??_);_(@_)"; // Create objects containing information about table columns (their names and formatting). List <XlTableColumnInfo> columns = new List <XlTableColumnInfo>(); columns.Add(new XlTableColumnInfo("Product")); columns.Add(new XlTableColumnInfo("Category")); columns.Add(new XlTableColumnInfo("Amount")); // Specify formatting settings for the last column of the table. columns[2].HeaderRowFormatting = XlFill.SolidFill(XlColor.FromTheme(XlThemeColor.Accent6, -0.3)); columns[2].DataFormatting = XlFill.SolidFill(XlColor.FromTheme(XlThemeColor.Dark1, 0.9)); columns[2].DataFormatting.NumberFormat = accounting; columns[2].TotalRowFormatting = XlFill.SolidFill(XlColor.FromTheme(XlThemeColor.Dark1, 0.8)); columns[2].TotalRowFormatting.NumberFormat = accounting; // Specify formatting settings for the header row of the table. XlCellFormatting headerRowFormatting = new XlCellFormatting(); headerRowFormatting.Fill = XlFill.SolidFill(XlColor.FromTheme(XlThemeColor.Accent6, 0.0)); headerRowFormatting.Border = new XlBorder(); headerRowFormatting.Border.BottomColor = XlColor.FromArgb(0, 0, 0); headerRowFormatting.Border.BottomLineStyle = XlBorderLineStyle.Dashed; // Start generating the table with a header row displayed. IXlTable table = row.BeginTable(columns, true, headerRowFormatting); // Apply the table style. table.Style.Name = XlBuiltInTableStyleId.Medium16; // Disable banded row formatting for the table. table.Style.ShowRowStripes = false; // Disable the filtering functionality for the table. table.HasAutoFilter = false; // Specify formatting settings for the total row of the table. table.TotalRowFormatting = XlFill.SolidFill(XlColor.FromTheme(XlThemeColor.Dark1, 0.9)); table.TotalRowFormatting.Border = new XlBorder() { BottomColor = XlColor.FromTheme(XlThemeColor.Accent6, 0.0), BottomLineStyle = XlBorderLineStyle.Thick, TopColor = XlColor.FromArgb(0, 0, 0), TopLineStyle = XlBorderLineStyle.Dashed }; // Specify the total row label. table.Columns[0].TotalRowLabel = "Total"; // Specify the function to calculate the total. table.Columns[2].TotalRowFunction = XlTotalRowFunction.Sum; } // Generate table rows and populate them with data. using (IXlRow row = sheet.CreateRow()) row.BulkCells(new object[] { "Camembert Pierrot", "Dairy Products", 17000 }, null); using (IXlRow row = sheet.CreateRow()) row.BulkCells(new object[] { "Gnocchi di nonna Alice", "Grains/Cereals", 15500 }, null); using (IXlRow row = sheet.CreateRow()) row.BulkCells(new object[] { "Mascarpone Fabioli", "Dairy Products", 15000 }, null); using (IXlRow row = sheet.CreateRow()) row.BulkCells(new object[] { "Ravioli Angelo", "Grains/Cereals", 12500 }, null); // Create the total row and finish the table. using (IXlRow row = sheet.CreateRow()) row.EndTable(sheet.Tables[0], true); #endregion #CustomFormatting } } }