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 servirá de opçõespoderá 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?
Sintaxe:
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(

jFontConfig

)

 → jFontConfigA implementação que seja feito sem informar parâmetro e portanto é recuperado um objeto com as configurações padrões ou, que seja realizada a definição de algumas propriedades específicas que o método preencha as demais com o valor padrão.

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():MakeFontMakeFormat()
jDefConfig['fonthor_align'] := FwPrinterFont()oHorizontal:ArialBlackCenter()
jDefConfig['sizevert_align'] := 13oVertical:Center()

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

MakeFormat()

MakeBorder()
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>