我用EPPlus生成一个Excel表,最后在我的范围内调用AutoFitColumns():
sheet.DefaultColWidth = 10;
sheet.Cells[1,1,myRow,myCol].AutoFitColumns();它工作得很好,除了所有调整后的列最后都略短于实际的列宽。当我双击列标题时,Microsoft适当地调整宽度,但是对于EPPlus,最后一个字符通常是半隐藏的。
EPPlus和Excel的自动调整之间的大小差异似乎是根据内容的宽度而变化的,但它不是线性的,所以我假设EPPlus没有根据字体精确地计算内容宽度。
除了自动调整后任意增加列宽外,有没有办法解决这个问题?
发布于 2016-02-15 21:51:19
我的结论是,这是EPPlus的一个bug。通过默认参数设置列宽度也是不准确的(结果是宽度较低)。我还没有测试手动设置列的宽度。
作为一种解决方法,我计算了使用EPPlus和Excel设置的每个列的宽度之间的差异,并确定对于我的应用程序,它的差异高达6-7%。因此,在调用AutoFitColumns()之后,我执行以下操作:
for(int i = 1; i < myRow; i++
sheet.Column(i).Width *= 1.06;https://stackoverflow.com/questions/35418021
复制相似问题