获取和设置单元格的样式

格式化Cells

有两种设置单元格格式的方法,如下所示。

使用 GetStyle()

使用以下代码,在格式化每个单元格时为每个单元格启动一个 Style 对象。如果要格式化很多单元格,则会消耗大量内存,因为 Style 对象是一个大对象。在调用 Workbook.Save 方法之前,这些 Style 对象不会被释放。

C#

cell.GetStyle().Font.IsBold = true;

使用 SetStyle()

第一种方法简单直接,那么为什么我们要添加第二种方法呢?

我们添加了第二种方法来优化内存使用。使用 Cell.GetStyle 方法检索 Style 对象后,修改它并使用 Cell.SetStyle 方法将其设置回此单元格。此 Style 对象不会被保留,并且 .NET GC 在未引用它时会收集它。

调用 Cell.SetStyle 方法时,不会为每个单元格保存 Style 对象。相反,我们将此 Style 对象与内部 Style 对象池进行比较,看看它是否可以重用。对于每个 Workbook 对象,仅保留与现有样式对象不同的 Style 对象。这意味着每个 Excel 文件只有数百个 Style 对象,而不是数千个。对于每个单元格,仅保留样式对象池的索引。

C#

Style style = cell.GetStyle();

style.Font.IsBold = true;

cell.SetStyle(style);

高级主题