为单元格获取和设置样式
Contents
[
Hide
]
Aspose.Cells for .NET 4.4.2 版本引入了两种格式化单元格的新方法:Cell.GetStyle 和 Cell.SetStyle。本文探讨了 Cell.GetStyle/SetStyle 方法,帮助您判断哪种技术最适合您。
格式化单元格
有两种格式化单元格的方式,如下所示。
使用 GetStyle()
通过下面的代码片段,在格式化单元格时为每个单元格初始化一个 Style 对象。如果要格式化很多单元格,会消耗大量内存,因为 Style 对象是一个大对象。这些 Style 对象直到调用 Workbook.Save 方法时才会被释放。
C#
cell.GetStyle().Font.IsBold = true;
使用 SetStyle()
第一种方法简单直接,为什么我们还添加了第二种方法?
我们添加了第二种方法以优化内存使用。使用 Cell.GetStyle 方法检索 Style 对象后,修改它并使用 Cell.SetStyle 方法将其设置回该单元格。当不再引用该 Style 对象时,它将不会被保留,.NET GC 会对其进行回收。
调用 Cell.SetStyle 方法时,不会为每个单元格保存 Style 对象。相反,我们将该 Style 对象与内部的 Style 对象池进行比较,查看是否可以重用。每个 Workbook 对象仅保留与现有对象有所不同的 Style 对象。这意味着每个 Excel 文件仅保留了数百个 Style 对象,而不是数千个。对于每个单元格,仅会保留对 Style 对象池的索引。
C#
Style style = cell.GetStyle();
style.Font.IsBold = true;
cell.SetStyle(style);