ClosedXML.Excel 中的自动调整列

Autofit column in ClosedXML.Excel

我从常见问题解答中了解到这个问题很愚蠢,但我无法在 excel 列中设置自动宽度(使用 ClosedXML.Excel 库)

我的代码:

var wb = new XLWorkbook();
var wsDep = wb.Worksheets.Add("MyWorksheet");
wsDep.Columns("A").AdjustToContents();
wsDep.Columns("B1").AdjustToContents();
wsDep.Columns().AdjustToContents();

但没有任何变化。 我如何使用 ClosedXML.Excel 库设置自动宽度列?

您的单元格没有任何contents.Therefore AdjustToContents()不会有任何效果。

您需要给出列的范围。
示例:wsDep.Columns("A","H").AdjustToContents();

添加到旧的 post 以防有人像我一样遇到这个。我的修复是使用 worksheet.Columns().AdjustToContents(); 但我必须在写完所有数据后添加它。最初,我在创建工作表期间设置所有列 headers 和颜色时设置它,但它不起作用。然后我遇到了这个线程,它让我认为它在我调用 AdjustToContents 时正在调整内容,在我的例子中,那时除了 headers 列之外还有其他内容。在写完我的所有数据后,我将它移到了最后,它按预期工作并且实际上对它所做的事情有意义。

wsDep.Columns().AdjustToContents();

您应该将这段代码写在代码部分的末尾,因为它只有在您将其写在代码末尾时才有效。