Workbook workbook = Workbook.Load("GenericReport.xls"); Worksheet currentSheet = workbook.Worksheets[0];
And then I do
someCell.CellFormat.Font.Color = Color.White; someCell.CellFormat.FillPatternBackgroundColor = Color.Black;
and then
workbook.Save(location);
I load the workbook because I have a macro in there. But then the style doesn't get applied. If I just do:
Workbook workbook = new Workbook(); workbook.Worksheets.Add("blah"); Worksheet currentSheet = Workbook.Worksheets[0];
then the style gets applied. Tips? ;)
This is a full example anybody should be able to run:
using System.Drawing; using Infragistics.Excel; namespace ConsoleApplication1 { internal class Program { private static void Main(string[] args) { Workbook workbook = new Workbook(); workbook.Worksheets.Add("fap"); Worksheet worksheet = workbook.Worksheets[0]; worksheet.Rows[0].Cells[0].Value = "hi"; worksheet.Rows[0].Cells[0].CellFormat.FillPatternBackgroundColor = Color.Black; worksheet.Rows[0].Cells[0].CellFormat.Font.Color = Color.White; workbook.Save(@"c:\test.xls"); workbook = null; Workbook workbook2 = Workbook.Load(@"c:\test.xls"); Worksheet worksheet2 = workbook2.Worksheets[0]; worksheet2.Rows[1].Cells[0].Value = "hi"; worksheet2.Rows[1].Cells[0].CellFormat.FillPatternBackgroundColor = Color.Black; worksheet2.Rows[1].Cells[0].CellFormat.Font.Color = Color.White; workbook2.Save(@"c:\fap2.xls"); } } }
Thank you for the clear sample. I would expect it should work in fap.xls as it did in test.xls. I will have somebody take a look at this, and be in contact with you to open a support case so we can notify you of any fix.
As a workaround for now, I think it will work if you create your cell format independently and then apply it using the SetFormatting method like this in the second section of your Console Application example:
worksheet2.Rows[1].Cells[0].Value = "hi";IWorksheetCellFormat cellFormat = workbook2.CreateNewWorksheetCellFormat();cellFormat.FillPatternBackgroundColor = Color.Black;cellFormat.Font.Color = Color.White;worksheet2.Rows[1].Cells[0].CellFormat.SetFormatting(cellFormat);
I am having the same problem. I have tried several different ways to override the default font including the one above and the one below. Nothing seems to work.
IWorksheetCellFormat styleFormat = workbook.CreateNewWorksheetCellFormat();styleFormat.Font.Name = "Verdana";workbook.Styles.AddUserDefinedStyle(styleFormat, "Custom Cell Style");