C# clear "styles.xml" 书中excel (xlsx) using closedxml

C# clear "styles.xml" in the book excel (xlsx) using closedxml

我有一个 C# 程序可以插入值并将样式应用于 Excel 工作簿 (xlsx)。我使用 ClosedXML 库。

我运行进入了很多文件条目(xlsx)后,书的风格不适用的问题。 我注意到文件大小随着时间的推移而增加,当我将文件扩展名从 .xlsx 更改为 .zip 并解压缩它时,我注意到文件“styles.xml”的大小为 8 - 10 MB。
我认为文件溢出的原因是“styles.xml”。

如何使用 ClosedXML 清除书中所有以前应用的样式excel?

如果你想"clean"所有的样式,即将所有单元格的样式设置为默认样式值,你可以使用:

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

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

这应该可以解决问题

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

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