Classe que recupera os estilos de borda permitidos de configuração para a criação de planilhas .xlsx com a printer.exe.
Os métodos dessa classe são estáticos e portanto não exigem a instância de um objeto para uso, são usado exatamente com está na sintaxe de cada um dos métodos.
A classe está disponível para uso em libs com label igual ou superior a |
Os estilos de borda disponíveis para configuração são:
00 - None - sem estilo01 - Thin - linha contínua02 - Medium - linha contínua média03 - Dashed - linha tracejada04 - Dotted - linha formada por pontos05 - Thick - linha contínua grossa06 - Double - duas linhas paralelas07 - Hair - linha formada por pontos pequenos08 - MediumDashed - linha tracejada média09 - DashDot - linha formada por traço + ponto10 - MediumDashDot - linha formada por traço + ponto e média11 - DashDotDot - linha formada por traço + ponto + ponto12 - MediumDashDotDot - linha formada por traço + ponto + ponto e média13 - SlantDashDot - linha formada por traço + ponto e inclinadaOs estilos foram traduzidos livremente para representar o formato das linhas criadas nas bordas, caso tenha uma descrição mais adequada para os estilos de linha faça a sua sugestão. Para não causar problemas no entendimento os estilos de linha serão mencionados pelo título em inglês, como None para indicar sem borda e MediumDashDotDot para indicar linha média formada com traços seguido por dois pontos.
Recupera o código para aplicar o estilo None.
Sintaxe: FwXlsxBorderStyle():None() → cStyle
Esse é o estilo usado por padrão.
Recupera o código para aplicar o estilo Thin.
Sintaxe: FwXlsxBorderStyle():Thin() → cStyle
Recupera o código para aplicar o estilo Medium.
Sintaxe: FwXlsxBorderStyle():Medium() → cStyle
Recupera o código para aplicar o estilo Dashed.
Sintaxe: FwXlsxBorderStyle():Dashed() → cStyle
Recupera o código para aplicar o estilo Dotted.
Sintaxe: FwXlsxBorderStyle():Dotted() → cStyle
Recupera o código para aplicar o estilo Thick.
Sintaxe: FwXlsxBorderStyle():Thick() → cStyle
Recupera o código para aplicar o estilo Double.
Sintaxe: FwXlsxBorderStyle():Double() → cStyle
Recupera o código para aplicar o estilo Hair.
Sintaxe: FwXlsxBorderStyle():Hair() → cStyle
Recupera o código para aplicar o estilo MediumDashed.
Sintaxe: FwXlsxBorderStyle():MediumDashed() → cStyle
Recupera o código para aplicar o estilo DashDot.
Sintaxe: FwXlsxBorderStyle():DashDot() → cStyle
Recupera o código para aplicar o estilo MediumDashDot.
Sintaxe: FwXlsxBorderStyle():MediumDashDot() → cStyle
Recupera o código para aplicar o estilo DashDotDot.
Sintaxe: FwXlsxBorderStyle():DashDotDot() → cStyle
Recupera o código para aplicar o estilo MediumDashDotDot.
Sintaxe: FwXlsxBorderStyle():MediumDashDotDot() → cStyle
Recupera o código para aplicar o estilo SlantDashDot.
Sintaxe: FwXlsxBorderStyle():SlantDashDot() → cStyle
#include 'protheus.ch'
function u_brdxlsx()
local oXlsx as object
local cFilename as character
local lRet as logical
local jBorder as object
cFilename := '/system/'+cValToChar(ThreadId())+'_bordas.rel'
ferase(cFilename)
oXlsx := FwPrinterXlsx():New()
lRet := oXlsx:Activate(cFilename)
lRet := oXlsx:AddSheet("1 - Plan")
jBorder := FwXlsxPrinterConfig():MakeBorder()
// todas as bordas
jBorder['left'] := .T.
jBorder['top'] := .T.
jBorder['right'] := .T.
jBorder['bottom'] := .T.
// padrão já é None, não precisa reaplicar estilo na borda
// jBorder['style'] := FwXlsxBorderStyle():None()
// lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(2, 2, "None")
jBorder['style'] := FwXlsxBorderStyle():Thin()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(4, 2, "Thin")
jBorder['style'] := FwXlsxBorderStyle():Medium()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(6, 2, "Medium")
jBorder['style'] := FwXlsxBorderStyle():Dashed()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(8, 2, "Dashed")
jBorder['style'] := FwXlsxBorderStyle():Dotted()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(10, 2, "Dotted")
jBorder['style'] := FwXlsxBorderStyle():Thick()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(12, 2, "Thick")
jBorder['style'] := FwXlsxBorderStyle():Double()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(2, 4, "Double")
jBorder['style'] := FwXlsxBorderStyle():Hair()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(4, 4, "Hair")
jBorder['style'] := FwXlsxBorderStyle():MediumDashed()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(6, 4, "MediumDashed")
jBorder['style'] := FwXlsxBorderStyle():DashDot()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(8, 4, "DashDot")
jBorder['style'] := FwXlsxBorderStyle():MediumDashDot()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(10, 4, "MediumDashDot")
jBorder['style'] := FwXlsxBorderStyle():DashDotDot()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(2, 6, "DashDotDot")
jBorder['style'] := FwXlsxBorderStyle():MediumDashDotDot()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(4, 6, "MediumDashDotDot")
jBorder['style'] := FwXlsxBorderStyle():SlantDashDot()
lRet := oXlsx:SetBorderConfig(jBorder)
lRet := oXlsx:SetText(6, 6, "SlantDashDot")
lRet := oXlsx:toXlsx()
oXlsx:DeActivate()
Return |
O programa acima gera um arquivo semelhante ao da imagem abaixo.

<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>
|