如何解决ClosedXML 可以定义命名样式吗? 大问题使用 Interop 命名样式
我在 C# 应用程序中使用 ClosedXML 创建 Excel 工作簿,并取得了巨大成功。当我深入研究生成的工作簿并查看代表工作簿样式表的 styles.xml
文件时,其中的最后一件事是以下元素。
</x:styleSheet>
...
<x:cellStyles count="1">
<x:cellStyle name="Normal" xfId="0" builtinId="0"/>
</x:cellStyles>
</x:styleSheet>
这似乎是 Excel 工作簿通常具有的命名“正常”样式。这让我想知道...
大问题
有没有办法使用 ClosedXML 定义其他命名样式?
使用 Interop 命名样式
相比之下,当我使用 Microsoft.Office.Interop.Excel
创建工作簿时,我可以定义一个命名样式,然后通过以下方式将该样式应用于我想要的所有单元格。
using Microsoft.Office.Interop.Excel;
namespace MyApp
{
public static class ExcelUtil
{
public static writeTest( string path )
{
Application app = new Application();
Workbook book = app.Workbooks.Add( Missing.Value );
Worksheet sheet = book.ActiveSheet;
//------------------------------
// Define a named style.
Style style = book.Styles.Add( "Special",Type.Missing );
style.Font.Size = 14;
style.Font.Color = 0x0000ff;
style.Font.Bold = true;
style.Borders.Weight = XlBorderWeight.xlThin;
...
//------------------------------
// Apply the named style to a cell.
Range range = (Range)sheet.Cells[123,45];
range.Style = book.Styles["Special"];
...
当我在 Excel 中打开我的工作簿时,我定义的命名样式将在功能区的样式调色板中显示为自定义样式之一。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。