有时需要一个完整的(总)像元宽度,并且需要以某种方式进行计算/确定。
例如,当您要设置合并单元格的高度以使所有文本都可见(对于印刷版本)时,您需要计算精确的组合宽度(所有单元格),以便可以计算行数并使用该数字,然后是行的高度。这种合并的单元格宽度的计算是通过将每个单个单元格宽度减去左侧和右侧单元格边距减去网格的一个像素而得出的。
如何知道与所用字体有关的左侧和右侧单元格边距。
下面是一个代码示例,该示例要确定characterWidth的默认总宽度(默认字体大小可以在一个单元格中容纳多少个字符,但是重要的部分是基于像素的部分:
ConvertFromCharactersToPixels(8.43)+ 2 + 2 +1;我在这里使用2个像素作为左边距/右边距,再加上一个像素作为网格。
public double GetDefaultGrossColumnCharacterWidthInPixels(WorkbookPart wbPart, Worksheet workSheet)
{
var sheetFormatProps = workSheet.SheetFormatProperties;
var defaultColumnCharWidth = sheetFormatProps.DefaultColumnWidth;
if (defaultColumnCharWidth == null)
{
return ConvertFromCharactersToPixels(8.43) + 2 + 2 + 1;
} else
{
return ConvertFromCharactersToPixels(defaultColumnCharWidth.Value);
}
}
如何确定边距是否使用2、3或更多像素?