C#使用closedxml清除Excel(xlsx)书中的“ styles.xml”

时间:2019-02-17 09:29:31

标签: c# .net excel styles closedxml

我有一个程序(C#),可以插入值并将样式应用于excel(xlsx)这本书 我使用的是封闭的库 我遇到了这样的问题:在很多次文件输入(xlsx)之后,这本书的样式不适用。 我注意到当我更改文件扩展名时,文件大小会随着时间增加。 (xlsx)并解压缩后,它注意到文件“ styles.xml”的大小为8-10 MB。 我认为文件溢出的原因是“ styles.xml”。 如何使用closedxml清理本书excel中所有以前应用的样式?

2 个答案:

答案 0 :(得分:1)

这应该可以解决问题

foreach (var worksheet in workbook.Worksheets)
    worksheet.Clear(XLClearOptions.AllFormats);

AllFormats也包括条件格式。如果您想保留它们,请按照Francois的建议使用NormalFormats

答案 1 :(得分:0)

如果您要“清理”所有样式,即将所有单元格的样式设置为默认样式值,则可以使用:

foreach (var cell in worksheet.CellsUsed(XLCellsUsedOptions.NormalFormats))
{
    cell.Style = XLWorkbook.DefaultStyle;
}

确保您使用的是最新版本的ClosedXML(在撰写本文时为v0.94.2)。