Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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.

Aviso

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?
Bloco de código
languagecpp
// 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
Bloco de código
languagecpp
// 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
Bloco de código
languagecpp
// 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)


Templatedocumentos


HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>