Histórico da Página
Button | ||||
---|---|---|---|---|
|
API de Integração entre PROGRESS e Microsoft Excel (002)
Nome Físico: utp/utapi003.p
Nome do Include com Parâmetros: utp/utapi003.i
Versão de Integração: 002
Objetivo:
Criação de arquivos para o Microsoft Excel.
Pré-requisitos:
É necessário ter o MS-EXCEL com uma versão compatível com o produto. Para mais detalhes consulte a documentação localizada em: https://tdn.totvs.com/pages/releaseview.action?pageId=195301010
Considerações Gerais
- A API recebe como parâmetros valores para construção de planilhas e, também, gráficos. Caso não seja possível criar o arquivo, será retornado uma Temp-Table com os, possíveis, erros;
- A include {utp/utapi003.i} contém as definições das Temp-Table´s que devem ser passadas como parâmetros à API utp/utapi003.p. Sendo que a chamada desta include, como a inclusão de valores, deve ser feita antes da chamada da API utp/utapi003.p;
- A criação do arquivo é feita através da execução da API utp/utapi003.p.
Parâmetros de Entrada
Temp-table tt-dados: possui as definições, gerais, do arquivo a ser criado.
TEMP-TABLE tt-configuracao | |||
Atributo | Tipo | Formato | Valor Inicial |
versao-integracao | integer | >>9 | |
arquivo-num | integer | >9 | 1 |
arquivo | character | x(255) | c:\tmp\utapi003.xls |
total-planilhas | integer | >9 | 05 |
exibir-construcao | logical | no | |
abrir-excel-termino | logical | no |
* ver Definição Temp-Table tt-configuracao
* ver Principais Validações da Temp-Table tt-configuracao
Atributo | Descrição |
versao-integracao | Versão de Integração da API |
arquivo-num | Número do arquivo a ser criado |
arquivo | Nome do arquivo a ser criado |
total-planilhas | Número Total de planilhas a serem criadas |
exibir-construcao | Exibir construção do arquivo durante o processo |
abrir-excel-termino | Abrir Microsoft Excel após término do processo |
Temp-Table tt-planilha: possui as definições, gerais, sobre cada uma das planilhas a serem criadas.
TEMP-TABLE tt-planilha | |||
Atributo | Tipo | Formato | Valor Inicial |
arquivo-num | integer | >9 | 1 |
planilha-num | integer | >9 | |
planilha-nome | character | x(030) | |
formatar-planilha | logical | yes | |
linhas-grade | logical | no | |
largura-coluna | decimal | >>9.99 extent 256 | 8.50 |
* ver Definição Temp-Table tt-planilha
* ver Principais Validações da Temp-Table tt-planilha
Atributo | Descrição |
arquivo-num | Número do arquivo |
planilha-num | Número da planilha |
planilha-nome | Nome da planilha |
formatar-planilha | Formatar Células da Planilha (Cor, Fonte, Bordas, ...) |
linhas-grade | Exibir linhas de grade |
largura-coluna | Largura da coluna |
Temp-Table tt-dados: possui as definições das propriedades das células a serem inseridas nas planilhas.
TEMP-TABLE tt-dados | |||
Atributo | Tipo | Formato | Valor Inicial |
arquivo-num | integer | >9 | 1 |
planilha-num | integer | >9 | |
celula-coluna | integer | >>9 | |
celula-linha | integer | >>>>9 | |
celula-cor-interior | integer | >9 | 58 |
celula-formato | character | x(255) | |
celula-formula | character | x(255) | |
celula-alinhamento-horizontal | integer | 9 | 4 |
celula-alinhamento-vertical | integer | 9 | 1 |
celula-valor | character | x(255) | |
celula-fonte-nome | character | x(255) | Times New Roman |
celula-fonte-tamanho | integer | >9 | 10 |
celula-fonte-negrito | logical | no | |
celula-fonte-italico | logical | no | |
celula-fonte-sublinhado | integer | 9 | 3 |
celula-fonte-cor | integer | >9 | 57 |
celula-tipo-borda-sup | integer | 9 | 7 |
Celula-tipo-borda-inf | integer | 9 | 7 |
Celula-tipo-borda-esq | integer | 9 | 7 |
Celula-tipo-borda-dir | integer | 9 | 7 |
* ver Definição Temp-Table tt-dados
* ver Principais Validações da Temp-Table tt-dados
* ver Paleta de Core
* ver Referência sobre Tipo Alinhamento Horizontal
* ver Referência sobre Tipo Alinhamento Vertical
* ver Referência sobre Tipo Sublinhado
* ver Referência sobre Tipo Borda
Atributo | Descrição |
arquivo-num | Número do arquivo |
planilha-num | Número da planilha |
celula-coluna | Número da coluna |
celula-linha | Número da linha |
celula-cor-interior | Número da cor |
celula-formato | Formato da célula |
celula-formula | Fórmula a ser inserida na célula |
celula-alinhamento-horizontal | Tipo de alinhamento horizontal |
celula-alinhamento-vertical | Tipo de alinhamento vertical |
celula-valor | Valor a ser inserido na célula |
celula-fonte-nome | Nome da fonte da célula |
celula-fonte-tamanho | Tamanho da fonte da célula |
celula-fonte-negrito | Exibir fonte em negrito |
celula-fonte-italico | Exibir fonte em itálico |
celula-fonte-sublinhado | Tipo de sublinhado |
celula-fonte-cor | Número da cor |
celula-tipo-borda-sup | Tipo de borda superior |
celula-tipo-borda-inf | Tipo de borda inferior |
celula-tipo-borda-esq | Tipo de borda à esquerda |
celula-tipo-borda-dir | Tipo de borda à direita |
Temp-Table tt-grafico: possui as definições, gerais, sobre cada um dos gráficos a serem criados.
TEMP-TABLE tt-grafico | |||
Atributo | Tipo | Formato | Valor Inicial |
arquivo-num | integer | >9 | 1 |
planilha-num | integer | >9 | |
grafico-nome | character | x(030) | |
grafico-titulo | character | x(255) | |
grafico-tipo | integer | >9 | |
intervalo-linha-ini | integer | >>>>9 | 1 |
intervalo-linha-fin | integer | >>>>9 | 65536 |
intervalo-coluna-ini | integer | >>9 | 1 |
intervalo-coluna-fin | integer | >>9 | 255 |
intervalo-tipo | integer | 9 | |
exibir-legenda | logical | yes | |
exibir-rotulo-dados | logical | yes |
* ver Definição Temp-Table tt-grafico
* ver Principais Validações da Temp-Table tt-grafico
* ver Referência sobre Tipo Gráfico
* ver Referência sobre Tipo Plotagem Dados
Atributo | Descrição |
arquivo-num | Número do arquivo |
planilha-num | Número da planilha |
grafico-nome | Nome do gráfico |
grafico-titulo | Título do gráfico |
grafico-tipo | Tipo do gráfico |
intervalo-linha-ini | Número da linha inicial do intervalo dos dados de origem do gráfico |
intervalo-linha-fin | Número da linha final do intervalo dos dados de origem do gráfico |
intervalo-coluna-ini | Número da coluna inicial do intervalo dos dados de origem do gráfico |
intervalo-coluna-fin | Número da coluna final do intervalo dos dados de origem do gráfico |
intervalo-tipo | Tipo de plotagem dos dados |
exibir-legenda | Exibir legenda |
exibir-rotulo-dados | Exibir rótulo dos dados |
Temp-table tt-erros: possui todos os erros encontrados pela API.
TEMP-TABLE tt-erros | |||
Atributo | Tipo | Formato | Valor Inicial |
cod-erro | integer | ||
desc-erro | character | x(256) |
* ver Definição Temp-Table tt-erros
Atributo | Descrição |
cod-erro | Número do erro |
desc-erro | Descrição do erro ocorrido da ut-msgs |
Execução
A API utp/utapi003.p irá executar 2 validações básicas:
Parâmetros de Saída
No retorno da execução do programa utp/utapi006.p, será retornado via return-value:
NOK:
A execução da API foi efetivada, porém, algum pedido não foi criado.
Parâmetros de Saída
No retorno da execução da API utp/utapi003.p, será retornado um dos valores abaixo (via RETURN-VALUE):
NOK:
criação do arquivo sem sucesso pois os dados passados como parâmetros, através das Temp-Table´s, são inconsistentes ou foram insuficientes;
OK:
criação do arquivo com sucesso.
No caso do retorno ser NOK, todos os erros encontrados serão retornados através da Temp-Table tt-erros.
Outras Informações
A seguir encontram-se as definições das Temp-Table´s a serem utilizadas pela API utp/utapi003.p.
A seguir encontram-se as principais validações a serem executadas em cada uma das Temp-Table´s de entrada utilizadas pela API utp/utapi003.p.
A seguir encontram-se um exemplo de Macro que retorna a uma fórmula de uma célula em idioma de macro:
A seguir encontram-se referências sobre os valores que alguns campos podem assumir :
Referência Tipo Alinhamento Horizontal
01 - Centralizado
02 - Distribuído
03 - Justificado
04 - Esquerda
05 - Direita
Referência Tipo Alinhamento Vertical
01 - Abaixo
02 - Centralizado
03 - Distribuído
04 - Justificado
05 - Acima
Referência Tipo Borda
01 - Continua
02 - Tracejada
03 - Ponto-Traço
04 - Ponto-Ponto-Traço
05 - Pontilhada
06 - Dupla
07 - Nenhum
Referência Tipo Plotagem Dados
01 - Por Linhas
02 - Por Colunas
Referência Tipo Sublinhado
01 - Duplo
02 - Contábil Duplo
03 - Nenhum
04 - Simples
05 - Contábil Simples
Paleta de Cores
57Automática
58Nenhuma
Referência Tipo Gráfico
01 - Colunas Agrupadas
02 - Colunas Agrupadas 3D
03 - Colunas Sobrepostas
04 - Colunas Sobrepostas 3D
05 - Colunas 100% Sobrepostas
06 - Colunas 100% Sobrepostas 3D
07 - Colunas 3D
08 - Barras Agrupadas
09 - Barras Agrupadas 3D
10 - Barras Sobrepostas
11 - Barras Sobrepostas 3D
12 - Barras 100% Sobrepostas
13 - Barras 100% Sobrepostas 3D
14 - Linhas
15 - Linhas com Marcadores
16 - Linhas Sobrepostas
17 - Linhas Sobrepostas com Marcadores
18 - Linhas 100% Sobrepostas
19 - Linhas 100% Sobrepostas com Marcadores
20 - Linhas 3D
21 - Pizza
22 - Pizza Explodida
23 - Pizza 3D
24 - Pizza Explodida 3D
25 - Pizza de Pizza
26 - Barras de Pizza
27 - Dispersão XY
28 - Dispersão com Linhas Ajustadas
29 - Dispersão com Linhas Ajustadas sem Marcadores de Dados
30 - Dispersão com Linhas
31 - Dispersão com Linhas e sem Marcadores de Dados
32 - Bolhas
33 - Bolhas com efeitos 3D
34 - Área
35 - Área 3D
36 - Áreas Sobrepostas
37 - Áreas Sobrepostas 3D
38 - Áreas 100% Sobrepostas
39 - Áreas 100% Sobrepostas 3D
40 - Rosca
41 - Rosca Explodida
42 - Radar
43 - Radar com Marcadores de Dados
44 - Radar Preenchido
45 - Superfície 3D
46 - Superfície (Vista de Cima)
47 - Superfície 3D (Moldura de Fio)
48 - Superfície (Vista de cima com Moldura de Fio)
49 - Cotações da Bolsa (Alta-Baixa-Fechamento)
50 - Cotações da Bolsa (Volume-Alta-Baixa-Fechamento)
51 - Cotações da Bolsa (Abertura-Alta-Baixa-Fechamento)
52 - Cotações da Bolsa (Volume-Abertura-Alta-Baixa-Fechamento)
53 - Colunas Cilíndricas Agrupadas
54 - Barras Cilíndricas Agrupadas
55 - Colunas Cilíndricas Sobrepostas
56 - Barras Cilíndricas Sobrepostas
57 - Colunas Cilíndricas 100% Sobrepostas
58 - Barras Cilíndricas 100% Sobrepostas
59 - Colunas Cilíndricas 3D
60 - Colunas Cônicas Agrupadas
61 - Barras Cônicas Agrupadas
62 - Colunas Cônicas Sobrepostas
63 - Barras Cônicas Sobrepostas
64 - Colunas Cônicas 100% Sobrepostas
65 - Barras Cônicas 100% Sobrepostas
66 - Colunas Cônicas 3D
67 - Colunas Piramidais Agrupadas
68 - Barras Piramidais Agrupadas
69 - Colunas Piramidais Sobrepostas
70 - Barras Piramidais Sobrepostas
71 - Colunas Piramidais 100% Sobrepostas
72 - Barras Piramidais 100% Sobrepostas
73 - Colunas Piramidais 3D
Programa exemplo:
{utp/utapi003.i}
os-delete value("c:\tmp\teste_utapi003.xls").
CREATE tt-configuracao.
ASSIGN tt-configuracao.versao-integracao = 2
tt-configuracao.arquivo-num = 1
tt-configuracao.arquivo = "c:\tmp\teste_utapi003.xls"
tt-configuracao.total-planilha = 2
tt-configuracao.exibir-construcao = yes
tt-configuracao.abrir-excel-termino = no.
CREATE tt-planilha.
ASSIGN tt-planilha.arquivo-num = 1
tt-planilha.planilha-num = 1
tt-planilha.planilha-nome = "Plan 1 - Grafico 1"
tt-planilha.linhas-grade = no
largura-coluna = 8.50
formatar-planilha = yes.
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 1
tt-dados.celula-linha = 1
tt-dados.celula-valor = "Região".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 1
tt-dados.celula-linha = 2
tt-dados.celula-valor = "Norte".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 1
tt-dados.celula-linha = 3
tt-dados.celula-valor = "Nordeste".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 1
tt-dados.celula-linha = 4
tt-dados.celula-valor = "Sul".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 1
tt-dados.celula-linha = 5
tt-dados.celula-valor = "Sudeste".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 1
tt-dados.celula-linha = 6
tt-dados.celula-valor = "Centro-Oeste".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 2
tt-dados.celula-linha = 1
tt-dados.celula-valor = "Valor 1".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 2
tt-dados.celula-linha = 2
tt-dados.celula-valor = "10".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 2
tt-dados.celula-linha = 3
tt-dados.celula-valor = "20".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 2
tt-dados.celula-linha = 4
tt-dados.celula-valor = "30".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 2
tt-dados.celula-linha = 5
tt-dados.celula-valor = "40".
CREATE tt-dados.
ASSIGN tt-dados.arquivo-num = 1
tt-dados.planilha-num = 1
tt-dados.celula-coluna = 2
tt-dados.celula-linha = 6
tt-dados.celula-valor = "50".
CREATE tt-grafico.
ASSIGN tt-grafico.arquivo-num = 1
tt-grafico.planilha-num = 1
tt-grafico.grafico-nome = "Graf 1"
tt-grafico.grafico-titulo = "Valores (Plan 1)"
tt-grafico.grafico-tipo = 4
tt-grafico.intervalo-linha-ini = 1
tt-grafico.intervalo-linha-fin = 6
tt-grafico.intervalo-coluna-ini = 1
tt-grafico.intervalo-coluna-fin = 2.
RUN utp/utapi003.p (INPUT-OUTPUT TABLE tt-configuracao,
INPUT-OUTPUT TABLE tt-planilha,
INPUT-OUTPUT TABLE tt-dados,
INPUT-OUTPUT TABLE tt-grafico,
INPUT-OUTPUT TABLE tt-erros).
if return-value = "nok" then do:
for each tt-erros:
disp tt-erros with 1 col width 500.
end.
end.
OK:
A execução ocorreu com sucesso.