Exemplos »»

Você também pode utilizar o VisRel para adicionar ou alterar dados em planilhas do Excel já existentes ou criar um arquivo XLS do zero usando a linha de comando abaixo:

VisRel.exe /XLS Dados.rel /V /Range

/XLS   (Nome do arquivo que contém os dados no formato detalhado abaixo)

/V     (Informa ao VisRel que a planilha deve ser exibida depois de salva-la)

/Range (Junta todos os comandos VAL em um Range. Acelera o processamento)
/DEL   (Apaga o arquivo XLS se o mesmo já existir)

Dentro de Dados.rel tem uma estrutura especifica, onde os três primeiros bytes identificam o que se deseja fazer:

  

XLS (Nome do arquivo do Excel, pode ser XLS, XLSX, XLSM ou XLSB. Se não existir será salvo com esse nome)
PLA (Nome de uma planilha já existente ou uma nova que será criada pelo VisRel. Ex.: Plan1)
VAL (Linha, coluna e valor que será atribuído à célula)
PIC (Opcional. Formato dos dados no Excel. Ex.: dd/mm/yy)
FOR (Opcional. No lugar de um valor pode ser colocada uma fórmula. Ex.: C3+C4 ou SUM(A1:A10))
FON (Opcional. Alteração da fonte e tamanho separado por ponto-e-vírgula)
LAR (Opcional. Largura da coluna em caracteres, no mesmo padrão do Excel)
LAA (Opcional. Largura automática da coluna. Deve ficar depois de ter adicionado os dados)
ALT (Opcional. Altura da linha em Pontos, no mesmo padrão do Excel (72 por polegada))
ALA (Opcional. Altura automática da linha. Deve ficar depois de ter adicionado os dados)
COR (Opcional. Cor do texto e fundo da célula separados por ponto-e-vírgula, em hexadecimal ou cores numeradas da WEB)
PDF (Opcional. Exporta como PDF a planilha atual. Suportado apenas pelo Excel 2007 ou mais recente)
PRO (Opcional. Protege a planilha atual com senha. Veja o exemplo abaixo)
LIB (Opcional. Desprotege a planilha atual com senha. Veja o exemplo abaixo)
BLO (Opcional. Desbloqueia para edição uma célula de uma planilha protegida. Veja o exemplo abaixo)
ALI (Opcional. Alinhamento separado por ponto-e-vírgula. ‘E’ (Esquerda), ‘C’ (Centro) ou ‘D’ (Direita) e ‘T’ (Topo), ‘C’ (Centro) ou ‘B’ (Base)). Ex.: D;B para alinhar a direita na base.
BOR (Opcional. Bordas das células com a combinação das letras: ‘E’ (Esquerda), ‘D’ (Direita) e ‘T’ (Topo), e ‘B’ (Base)). Ex.: EDTB para todas as bordas.
MES (Opcional. Mescla as celulas do RANGE informado). Ex.: MES A1:B1 ou MES 1,1:1,2.
EST (Opcional. Estilo da fonte das células com a combinação das letras: ‘N’ (Negrito), ‘I’ (Itálico) e ‘S’ (Sublinhado), e ‘R’ (Riscado)). Ex.: NISR para todos os estilos.

 

Exemplo do conteúdo do arquivo:

 

XLS C:\Arquivo.xls

PLA Plan1

LAR (001)=20

ALI (00001,001)=c;c
BOR (00001,001)=edbt

EST (00001,001)=NI

PIC (00001,001)=@

VAL (00001,001)=Aqui é a linha 1 e coluna 1{e}Segunda linha dentro da célula

PIC (00002,001)=@

VAL (00002,001)=Aqui é a linha 2 e coluna 1

PIC (00003,001)=@

VAL (00003,001)=Aqui é a linha 3 e coluna 1

PIC (00004,001)=#,##0.000

VAL (00004,001)=1234.5
PIC (00005,001)=dd/mm/yyyy

VAL (00005,001)=02/01/2003

FON (00005,001)=Courier New;10

COR (00005,001)=#FF0000;#EEEEEE

ALA (001)=1

PDF C:\Arquivo.pdf

Download deste exemplo

Obs.: Em dados numéricos deve ser usado apenas o ponto (.) como separador decimal e as datas devem ser informadas no formato americano (mês/dia/ano). Caso utilize códigos de produtos com pontos ou barras de datas formate a célula como texto (PIC (linha,coluna)=@) antes de enviar o valor, assim o Excel não tenta converter o código em número ou data.

Em determinadas situações quando o usuário alterou as configurações regionais ou quando o MS Office é em inglês e o Windows em português ou vice-versa podem ocorrer anomalias nas conversões de data. Nestes casos remova o parâmetro /Range, entretanto a geração do Excel será bem mais lenta.

Também é possível criar gráficos no Excel e apenas alterar os dados que geraram o gráfico utilizando o parâmetro /XLS do VisRel. Clique aqui e faça o download de um exemplo de gráfico de pizza e barras.

Exemplo em Cobol Micro Focus 4.5:

      $set ans85 noosvs mf
        ENVIRONMENT DIVISION.
        configuration section.
        special-Names.
            decimal-point is comma.
        input-output section.
                select  seq-arq
                        assign to       disk
                        organization    line sequential
                        lock mode is    manual
                        status          w-seq-st.

        DATA DIVISION.

        file section.
        fd seq-arq
           value of file-id w-seq-id
           label record is omitted
           data  record is seq-reg.
        01 seq-reg.
           02 w-linha   pic x(1200).
               
        WORKING-STORAGE SECTION.
       
        01 w-status.
           02 w-seq-id          pic x(255)   value spaces.
           02 w-seq-st          pic xx       value zeros.
           02 w-seq-size        pic 9(06)    value zeros.

        01 w-PIC.
           02 filler            pic x(5)     value "PIC (".
           02 w-PIC-Lin         pic 9(5)     value zeros.
           02 filler            pic x        value ",".
           02 w-PIC-Col         pic 9(3)     value zeros.
           02 filler            pic x(2)     value ")=".
           02 w-PIC-Formato     pic x(100)   value spaces.

        01 w-VAL.
           02 filler            pic x(5)     value "VAL (".
           02 w-VAL-Lin         pic 9(5)     value zeros.
           02 filler            pic x        value ",".
           02 w-VAL-Col         pic 9(3)     value zeros.
           02 filler            pic x(2)     value ")=".
           02 w-VAL-Valor       pic x(100)   value spaces.

        01 w-FOR.
           02 filler            pic x(5)     value "FOR (".
           02 w-FOR-Lin         pic 9(5)     value zeros.
           02 filler            pic x        value ",".
           02 w-FOR-Col         pic 9(3)     value zeros.
           02 filler            pic x(2)     value ")=".
           02 w-FOR-Formula     pic x(100)   value spaces.

        77 FUNCAO-35 PIC X COMP-X VALUE 35.
        77 CODERRO-2 PIC X COMP-X VALUE 0.
        01 COMANDO PIC X(250)   VALUE SPACES.
        01 COMMAND-LIN.
            02 COMMAND-LIN-LEN PIC X COMP-X VALUE 0.

        procedure division.
  
          move "CobExcel.txt" to w-seq-id

          open output seq-arq

********** Abrir ou criar o arquivo do Excel
          move spaces to w-linha
          move "XLS C:\VisRel.xls" to w-linha
          write seq-reg

********** Abrir ou criar a planilha dentro do arquivo
          move spaces to w-linha
          move "PLA Planilha" to w-linha
          write seq-reg

********** Salvar um texto na linha 1 e coluna 3
          move 1 to w-PIC-Lin
          move 3 to w-PIC-Col
          Move "@" to w-PIC-Formato
          move spaces to w-linha
          move w-PIC to w-linha
          write seq-reg

          move 1 to w-VAL-Lin
          move 3 to w-VAL-Col
          Move "Teste do VisRel no Excel" to w-VAL-Valor
          move spaces to w-linha
          move w-VAL to w-linha
          write seq-reg

********** Salvar uma data na linha 2 e coluna 3
          move 2 to w-PIC-Lin
          move 3 to w-PIC-Col
          Move "dd/mm/yy" to w-PIC-Formato
          move spaces to w-linha
          move w-PIC to w-linha
          write seq-reg

          move 2 to w-VAL-Lin
          move 3 to w-VAL-Col
          Move "10/08/2006" to w-VAL-Valor
          move spaces to w-linha
          move w-VAL to w-linha
          write seq-reg

********** Salvar um número na linha 3 e coluna 3
          move 3 to w-PIC-Lin
          move 3 to w-PIC-Col
          Move "#,##0.00" to w-PIC-Formato
          move spaces to w-linha
          move w-PIC to w-linha
          write seq-reg

          move 3 to w-VAL-Lin
          move 3 to w-VAL-Col
          Move "1234.5" to w-VAL-Valor
          move spaces to w-linha
          move w-VAL to w-linha
          write seq-reg

********** Salvar outro número na linha 4 e coluna 3
          move 4 to w-PIC-Lin
          move 3 to w-PIC-Col
          Move "000000" to w-PIC-Formato
          move spaces to w-linha
          move w-PIC to w-linha
          write seq-reg

          move 4 to w-VAL-Lin
          move 3 to w-VAL-Col
          Move "123" to w-VAL-Valor
          move spaces to w-linha
          move w-VAL to w-linha
          write seq-reg

********** Somar os número acima na linha 6 e coluna 3
          move 6 to w-PIC-Lin
          move 3 to w-PIC-Col
          Move "#,##0.00" to w-PIC-Formato
          move spaces to w-linha
          move w-PIC to w-linha
          write seq-reg

          move 6 to w-FOR-Lin
          move 3 to w-FOR-Col
          Move "C3+C4" to w-FOR-Formula
          move spaces to w-linha
          move w-FOR to w-linha
          write seq-reg

          close seq-arq
         
          STRING "VisRel.exe /XLS CobExcel.txt /V /Range"
            DELIMITED BY SIZE INTO COMANDO

          DISPLAY COMANDO UPON COMMAND-LINE
          CALL X"91" USING CODERRO-2, FUNCAO-35, COMMAND-LIN
          .

Veja mais detalhes das linhas de comando do VisRel clicando aqui.


Página Principal Página Principal Página Principal Página Principal Página Principal Comprar Comprar Comprar Comprar Comprar Comprar Contato Contato Contato Contato Contato Contato + Produtos + Produtos + Produtos + Produtos + Produtos + Produtos Download Download Download Download Download Download Sobre Sobre Sobre Sobre Sobre Sobre