- Criado por Josimar Da Silva Assunção Junior, última alteração em 26 ago, 2020
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:
Nome | Tipo | Obrigatório | Default | Referência | Descrição |
font | caractere | x | FwPrinterFont():Calibri() | x | código da fonte para uso |
size | numérico | x | 11 | x | tamanho da fonte para uso |
italic | lógico | x | .F. | x | deve aplicar itálico? |
bold | lógico | x | .F. | x | deve aplicar negrito? |
underline | lógico | x | .F. | x | deve 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:
Nome | Tipo | Obrigatório | Default | Referência | Descrição |
hor_align | caractere | x | FwXlsxHorizontalAlignment():Default() | x | indica o alinhamento horizontal do conteúdo na célula |
vert_align | caractere | x | FwXlsxVerticalAlignment():Default() | x | indica o alinhamento vertical do conteúdo na célula |
text_wrap | lógico | x | .F. | x | aplica quebra de linha no conteúdo? |
degrees | numérico | x | 0 | x | indica a rotação do texto em graus 0 - 359 |
text_color | caractere | x | 000000 // preto | x | cor para o texto |
background_color | caractere | x | FFFFFF // branco | x | cor de fundo da célula |
custom_format | caractere | x | "" | x | formataçã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:
Nome | Tipo | Obrigatório | Default | Referência | Descrição |
left | lógico | x | .F. | x | deve usar borda à esquerda? |
top | lógico | x | .F. | x | deve usar borda acima? |
right | lógico | x | .F. | x | deve usar borda à direita? |
bottom | lógico | x | .F. | x | deve usar borda abaixo? |
style | caractere | x | FwXlsxBorderStyle():None() | x | define o estilo de borda, veja FwXlsxBorderStyle() para informações dos estilos disponíveis |
border_color | caractere | x | FFFFFF // branco | x | define 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)