O que é?

Classe com métodos de fábrica estáticos para auxiliar a montagem dos objetos de configuração de fontes, formatação e bordas de célula para a classe FwPrinterXlsx.

Cada um dos métodos é responsável pela construção de um objeto da classe JsonObject que poderá ser utilizado pelos métodos que aceitam configurações/opções como parâmetro na classe FwPrinterXlsx.

A classe está disponível a partir das libs com label igual ou superior a 20201009.

A implementação de todos os métodos permite: (1) seja feita a chamada sem informar o parâmetro de configuração, com isso é retornado um objeto com as configurações padrão ou, (2) seja informado um objeto com configurações preenchidas por parâmetro para que o método defina as demais configurações com os valores padrões.

Métodos

MakeFont()

Constrói um objeto para a configuração de fonte a ser utilizado na classe/método FwPrinterXlsx():SetFontConfig().

Sintaxe: FwXlsxPrinterConfig():MakeFont(jFontConfig) → jFontConfig

As propriedades preenchidas pelo método no objeto jFontConfig retornado são:

NomeTipoObrigatórioDefaultReferênciaDescrição
fontcaracterexFwPrinterFont():Calibri()xcódigo da fonte para uso
sizenuméricox11xtamanho da fonte para uso
italiclógicox.F.xdeve aplicar itálico?
boldlógicox.F.xdeve aplicar negrito?
underlinelógicox.F.xdeve aplicar sublinhado?
// recupera todas as propriedades com valor padrão para alterar depois
jDefConfig := FwXlsxPrinterConfig():MakeFont()
jDefConfig['font'] := FwPrinterFont():ArialBlack()
jDefConfig['size'] := 13

jSpecCfg := JsonObject():New()
jSpecCfg['size'] := 15
jSpecCfg['bold'] := .T.
jSpecCfg['font'] := FwPrinterFont():TimesNewRoman()
// mantém as configurações definidas e preenche as demais com os valores padrões
jSpecCfg := FwXlsxPrinterConfig():MakeFont(jSpecCfg)


MakeFormat()

Constrói um objeto para a configuração de formatação da célula a ser utilizado na classe/método FwPrinterXlsx():SetCellsFormatConfig().

Sintaxe: FwXlsxPrinterConfig():MakeFormat(jFmtConfig) → jFmtConfig

As propriedades preenchidas pelo método no objeto jFmtConfig retornado são:

NomeTipoObrigatórioDefaultReferênciaDescrição
hor_aligncaracterexFwXlsxHorizontalAlignment():Default()xindica o alinhamento horizontal do conteúdo na célula
vert_aligncaracterexFwXlsxVerticalAlignment():Default()xindica o alinhamento vertical do conteúdo na célula
text_wraplógicox.F.xaplica quebra de linha no conteúdo?
degreesnuméricox0xindica a rotação do texto em graus 0 - 359
text_colorcaracterex000000  // pretoxcor para o texto
background_colorcaracterexFFFFFF  // brancoxcor de fundo da célula
custom_formatcaracterex""xformatação personalizada para o conteúdo
// apoio para o tipo de alinhamento
oHorizontal := FwXlsxCellAlignment():Horizontal()
oVertical := FwXlsxCellAlignment():Vertical()

// recupera todas as propriedades com valor padrão para alterar depois
jDefConfig := FwXlsxPrinterConfig():MakeFormat()
jDefConfig['hor_align'] := oHorizontal:Center()
jDefConfig['vert_align'] := oVertical:Center()

jSpecCfg := JsonObject():New()
jSpecCfg['text_color'] := "121212" // cinza claro
jSpecCfg['background_color'] := "00FF00" // verde
jSpecCfg['custom_format'] := "mmm-aaaa"
jSpecCfg['vert_align'] := oVertical:Bottom()
// mantém as configurações definidas e preenche as demais com os valores padrões
jSpecCfg := FwXlsxPrinterConfig():MakeFormat(jSpecCfg)

MakeBorder()

Constrói um objeto para a configuração de bordas de célula a ser utilizado na classe/método FwPrinterXlsx():SetBorderConfig().

Sintaxe: FwXlsxPrinterConfig():MakeBorder(jBorderConfig) → jBorderConfig

As propriedades preenchidas pelo método no objeto jBorderConfig retornado são:

NomeTipoObrigatórioDefaultReferênciaDescrição
leftlógicox.F.xdeve usar borda à esquerda?
toplógicox.F.xdeve usar borda acima?
rightlógicox.F.xdeve usar borda à direita?
bottomlógicox.F.xdeve usar borda abaixo?
stylecaracterexFwXlsxBorderStyle():None()xdefine o estilo de borda, veja FwXlsxBorderStyle() para informações dos estilos disponíveis
border_colorcaracterexFFFFFF // brancoxdefine a cor para aplicar em todas as bordas
// recupera todas as propriedades com valor padrão para alterar depois
jDefConfig := FwXlsxPrinterConfig():MakeBorder()
jDefConfig['left'] := .T.
jDefConfig['right'] := .T.
jDefConfig['style'] := FwXlsxBorderStyle():Double()

jSpecCfg := JsonObject():New()
jSpecCfg['style'] := FwXlsxBorderStyle():MediumDashDotDot()
jSpecCfg['border_color'] := "E1E1E1" // cinza escuro
// mantém as configurações definidas e preenche as demais com os valores padrões
jSpecCfg := FwXlsxPrinterConfig():MakeBorder(jSpecCfg)