WorkbookStylesPart stylesPart = _workbookPart.AddNewPart<WorkbookStylesPart>(); stylesPart.Stylesheet = CStyle.GenerateStyleSheet();
stylesPart.Stylesheet.Save();
2. Khi khởi tạo một style, đã khởi tạo các thành phần cơ bản
cStyle = new CStyle();Trong CStyle.cs
public CStyle()3. Có thể khai báo các thuộc tính cho style thông qua
{
numberFormatCode = null;
fontSize = 11;
fontName = "TimeNewRoman";
fontColor = "000";
fontBold = false;
fontItalic = false;
fillPattern = PatternValues.None;
fillForeGroundColor = null;
borderLeftColor = null;
borderLeftStyleValue = BorderStyleValues.None;
borderBottomColor = null;
borderBottomStyleValue = BorderStyleValues.None;
borderRightColor = null;
borderRightStyleValue = BorderStyleValues.None;
borderTopColor = null;
borderTopStyleValue = BorderStyleValues.None;
alignmentHorizontal = HorizontalAlignmentValues.Left;
alignmentVertical = VerticalAlignmentValues.Center;
wrapText = true;
textRotate = (uint)0;
}
cStyle.alignmentHorizontal = HorizontalAlignmentValues.Left;Khi cStyle.CreateStyle(); sẽ tạo style theo tất cả các thuộc tính đã set -> CStyle.cs (line 97), hàm này sẽ bổ sung các thuộc tính quan trọng:
Style.fontName = "Times New Roman";
cStyle.fontSize = 12;
public Fill _oFill { get; set; }Chú ý:
public Border _oBorder { get; set; }
public Font _oFont { get; set; }
public Alignment _oAlignment { get; set; }
public NumberingFormat _oNumberingFormat { get; set; }
Riêng đối với _oNumberingFormat phải quan tâm tới NumberFormatId
Hàm InsertNumberingFormat
public uint InsertNumberingFormat(NumberingFormat numberingFormat, WorkbookPart workbookPart)
{
NumberingFormats numberingFormats = workbookPart.WorkbookStylesPart.Stylesheet.Elements<NumberingFormats>().First();
//cập nhật id cho numberingFormat
numberingFormat.NumberFormatId = numberingFormats.Count;
numberingFormats.Append(numberingFormat);
return (uint)numberingFormats.Count++;
}
Cuối cùng, hàm
public uint GetStyleIndex(WorkbookPart _workbookPart, Cell cell)
{
CellFormat cellFormat = cell.StyleIndex != null ? this.GetCellFormat(cell.StyleIndex, _workbookPart).CloneNode(true) as CellFormat : new CellFormat();
this.AppendCellFormat(cellFormat, _workbookPart); //là hàm quan trọng để tạo các format
uint styleIndex = this.InsertCellFormat(cellFormat, _workbookPart);
return styleIndex;
}
Sẽ thêm mới một style và trả về styleIndex