簡體   English   中英

如何使用OpenXML使excel工作表標題行變粗

[英]How to make excel work sheet header row bold using OpenXML

我使用openXML ,Asp.net和c#創建一個Excel workbook ,我要求所有工作表的Header行應該是粗體。

WorkbookStylesPart stylesPart = workbookpart.AddNewPart<WorkbookStylesPart>();
        stylesPart.Stylesheet = CreateStylesheet();
        stylesPart.Stylesheet.Save();

    }
    private static Stylesheet CreateStylesheet()
    {
        Stylesheet ss = new Stylesheet();
        Fonts fts = new Fonts();
        DocumentFormat.OpenXml.Spreadsheet.Font ft = new DocumentFormat.OpenXml.Spreadsheet.Font();
        Bold fbld = new Bold();
        FontName ftn = new FontName();
        ftn.Val = "Calibri";
        DocumentFormat.OpenXml.Spreadsheet.FontSize ftsz = new DocumentFormat.OpenXml.Spreadsheet.FontSize();
        ftsz.Val = 11;
        ft.FontName = ftn;
        ft.FontSize = ftsz;
        ft.Bold = fbld;
        fts.Append(ft);
        fts.Count = (uint)fts.ChildElements.Count;
        ss.Append(fts);
        return ss;
    }

它使所有單元格bold ,我缺少將其應用於特定row/cells

AR先生,謝謝

我從另一篇文章中得到了答案。 使用OpenXmlWriter SAX創建帶有樣式標記的Excel文件

 private static Stylesheet CreateStylesheet()
{
   Stylesheet ss = new Stylesheet();

        Font font0 = new Font();         // Default font

        Font font1 = new Font();         // Bold font
        Bold bold = new Bold();
        font1.Append(bold);

        Fonts fonts = new Fonts();      // <APENDING Fonts>
        fonts.Append(font0);
        fonts.Append(font1);

        // <Fills>
        Fill fill0 = new Fill();        // Default fill

        Fills fills = new Fills();      // <APENDING Fills>
        fills.Append(fill0);

        // <Borders>
        Border border0 = new Border();     // Defualt border

        Borders borders = new Borders();    // <APENDING Borders>
        borders.Append(border0);

        CellFormat cellformat0 = new CellFormat() { FontId = 0, FillId = 0, BorderId = 0 }; // Default style : Mandatory | Style ID =0

        CellFormat cellformat1 = new CellFormat(){FontId = 1};
        CellFormats cellformats = new CellFormats();
        cellformats.Append(cellformat0);
        cellformats.Append(cellformat1);


        ss.Append(fonts);
        ss.Append(fills);
        ss.Append(borders);
        ss.Append(cellformats);


        return ss;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM