Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用OpenXML使excel工作表标题行加粗_C#_Asp.net_Openxml - Fatal编程技术网

C# 如何使用OpenXML使excel工作表标题行加粗

C# 如何使用OpenXML使excel工作表标题行加粗,c#,asp.net,openxml,C#,Asp.net,Openxml,我正在使用openXML、Asp.net和c#创建Excel工作簿,我要求所有工作表的标题行都应为粗体 WorkbookStylesPart stylesPart = workbookpart.AddNewPart<WorkbookStylesPart>(); stylesPart.Stylesheet = CreateStylesheet(); stylesPart.Stylesheet.Save(); } private stat

我正在使用
openXML
、Asp.net和c#创建
Excel工作簿
,我要求所有工作表的标题行都应为粗体

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;
    }
WorkbookStylesPart-stylesPart=workbookpart.AddNewPart();
stylesPart.Stylesheet=CreateStylesheet();
stylesPart.Stylesheet.Save();
}
私有静态样式表CreateStylesheet()
{
样式表ss=新样式表();
字体fts=新字体();
DocumentFormat.OpenXml.Spreadsheet.Font ft=新建DocumentFormat.OpenXml.Spreadsheet.Font();
粗体fbld=新粗体();
FontName ftn=新FontName();
ftn.Val=“Calibri”;
DocumentFormat.OpenXml.Spreadsheet.FontSize ftsz=新的DocumentFormat.OpenXml.Spreadsheet.FontSize();
ftsz.Val=11;
ft.FontName=ftn;
ft.FontSize=ftsz;
ft.Bold=fbld;
附加(ft);
fts.Count=(uint)fts.ChildElements.Count;
ss.Append(fts);
返回ss;
}
它使所有单元格都变为粗体,我缺少将其应用于特定的
行/单元格的代码

提前感谢,,
AR

我从另一个帖子得到了答案。

private静态样式表CreateStylesheet()
{
样式表ss=新样式表();
Font font0=新字体();//默认字体
Font font1=新字体();//粗体字体
粗体=新粗体();
font1.追加(粗体);
字体字体=新字体();//
字体。追加(font0);
字体。追加(font1);
// 
填充0=新填充();//默认填充
填充=新填充();//
fills.Append(fill0);
// 
边框边框0=新边框();//取消边框
Borders Borders=新边框();//
borders.Append(border0);
CellFormat cellformat0=new CellFormat(){FontId=0,FillId=0,BorderId=0};//默认样式:必填|样式ID=0
CellFormat cellformat1=新CellFormat(){FontId=1};
CellFormats CellFormats=新的CellFormats();
cellformats.Append(cellformat0);
cellformats.Append(cellformat1);
附加(字体);
附加(填充);
ss.追加(边界);
附加(单元格格式);
返回ss;
}

您能否显示代码,以便我们了解根据您的要求我们可以做些什么requirement@nadeem我已经添加了代码,您可以在单元格上使用StyleIndex。看一看:这个答案没有你想象的那么重要。它只更新样式表,而不更新其他内容。所以-问题。此外,它是您引用的答案的直接副本。问题是关于样式表的。请不要在没有至少理解的情况下发布代码。虽然我同意前面的评论,但我仍然对这个答案投了更高的票,因为它让我得到了更详细的回答,而我可能没有找到其他答案。此外,作者从回答的一开始就提供了一个链接。的确,这个答案本身是不完整的。
 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;
}