Как определить значения полей по умолчанию для используемого шрифта? - PullRequest
0 голосов
/ 20 февраля 2019

Иногда требуется полная (полная) ширина ячейки, и она должна быть каким-то образом рассчитана / определена.

Например, если вы хотите установить высоту объединенной ячейки, чтобы весь текст мог быть виден (для печатной версии), вам необходимо рассчитать точную общую ширину (все ячейки), чтобы вы могли вычислить числострок и с этим номером, то высота строки.Вычисление такой объединенной ширины ячейки производится путем суммирования ширины каждой отдельной ячейки минус поле слева и справа минус один пиксель для сетки.

Как узнать, какие поля слева и справа по отношению к шрифтучто используется?

Вот пример кода, который хочет определить общую ширину по умолчанию в 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 или более пикселей для полей?

...