Você está na página 1de 19

API de Integrao entre PROGRESS e Microsoft Excel (001)

Nome Fsico: utp/utapi013.p Nome do Include com os Parmetros: utp/utapi013.i Verso de Integrao: 001 Objetivo: Criao de arquivos para o Microsoft Excel. Pr-requisitos: necessrio ter o MS-EXCEL a partir da verso 98. Consideraes Gerais: A API recebe como parmetros valores para construo de planilhas e, tambm, grficos. Caso no seja possvel criar o arquivo, ser retornado uma Temp-Table com os, possveis, erros; A include {utp/utapi013.i} contm as definies das Temp-Tables que devem ser passadas como parmetro ao procedimento interno pi-execute2. Sendo que a chamada desta include, como a incluso de valores, deve ser feita antes da chamada ao procedimento interno pi-execute2; A criao do arquivo feito atravs da execuo do procedimento interno pi-execute2.

Parmetros de Entrada e Sada


Temp-Table tt-configuracao2: possui as definies, gerais, do arquivo a ser criado.
TEMP-TABLE tt-configuracao2 Atributo versao-integracao arquivo-num arquivo total-planilhas exibir-construcao abrir-excel-termino Imprimir orientao ** Tipo integer integer character integer logical logical logical integer Formato >>9 >9 x(255) >9 Valor Inicial 1 C:\tmp\utapi013.xls 05 no no no 1

* ver Definio Temp-Table tt-configuracao2 * ver Principais Validaes da Temp-Table tt-configuracao2 ** Quando no existir nenhuma impressora cadastrada no windows este parmetro ignorado

Atributo versao-integracao arquivo-num arquivo total-planilhas exibir-construcao abrir-excel-termino Imprimir orientacao

Descrio Verso de Integrao da API Nmero do arquivo a ser criado Nome do arquivo a ser criado Nmero Total de planilhas a serem criadas Exibir construo do arquivo durante o processo Abrir Microsoft Excel 97 aps trmino do processo Imprime a planilha gerada Seleciona a orientao do documento (1 - retrato 2 - paisagem)

Temp-Table tt-planilha2: possui as definies, gerais, sobre cada uma das planilhas a serem criadas.
TEMP-TABLE tt-planilha2 Atributo arquivo-num planilha-num Tipo integer integer Formato >9 >9 Valor Inicial 1

Datasul S.A.

Pgina 1

planilha-nome formatar-planilha formatar-faixa linhas-grade largura-coluna

character logical logical logical decimal

x(030) yes no no 8.50

>>9.99

extent 256

* ver Definio Temp-Table tt-planilha2 * ver Principais Validaes da Temp-Table tt-planilha2

Atributo arquivo-num planilha-num planilha-nome formatar-planilha formatar-faixa linhas-grade largura-coluna

Descrio Nmero do arquivo Nmero da planilha Nome da planilha Formatar Clulas da Planilha (Cor, Fonte, Bordas, ...) Formatar uma faixa de clulas da planilha (Cor, Fonte, Bordas, ...) Exibir linhas de grade Largura da coluna

Temp-Table tt-dados: possui as definies das propriedades das clulas a serem inseridas nas planilhas.
TEMP-TABLE tt-dados Atributo arquivo-num planilha-num celula-coluna celula-linha celula-cor-interior celula-formato celula-formula celula-alinhamento-horizontal celula-alinhamento-vertical celula-valor celula-fonte-nome celula-fonte-tamanho celula-fonte-negrito celula-fonte-italico celula-fonte-sublinhado celula-fonte-cor celula-tipo-borda-sup Celula-tipo-borda-inf Celula-tipo-borda-esq Celula-tipo-borda-dir Tipo integer integer integer integer integer character character integer integer character character integer logical logical integer integer integer integer integer integer Formato >9 >9 >>9 >>>>9 >9 x(255) x(255) 9 9 x(255) x(255) >9 Valor Inicial 1

58

4 1 Times New Roman 10 no no 3 57 7 7 7 7

9 >9 9 9 9 9

* ver Definio Temp-Table tt-dados * ver Principais Validaes da Temp-Table tt-dados * ver Paleta de Core * ver Referncia sobre Tipo Alinhamento Horizontal * ver Referncia sobre Tipo Alinhamento Vertical * ver Referncia sobre Tipo Sublinhado * ver Referncia sobre Tipo Borda

Atributo arquivo-num planilha-num celula-coluna celula-linha celula-cor-interior celula-formato (*) celula-formula celula-alinhamento-horizontal celula-alinhamento-vertical celula-valor celula-fonte-nome celula-fonte-tamanho celula-fonte-negrito celula-fonte-italico celula-fonte-sublinhado celula-fonte-cor

Descrio Nmero do arquivo Nmero da planilha Nmero da coluna Nmero da linha Nmero da cor Formato da clula Frmula a ser inserida na clula Tipo de alinhamento horizontal Tipo de alinhamento vertical Valor a ser inserido na clula Nome da fonte da clula Tamanho da fonte da clula Exibir fonte em negrito Exibir fonte em itlico Tipo de sublinhado Nmero da cor

Datasul S.A.

Pgina 2

celula-tipo-borda-sup celula-tipo-borda-inf celula-tipo-borda-esq celula-tipo-borda-dir

Tipo de borda superior Tipo de borda inferior Tipo de borda esquerda Tipo de borda direita

* Use o caractere @ para evitar que o Excel formate como nmero uma string, por exemplo, se enviar a string 0000089 para o Excel este a transformar em 89, use a arroba e a string ser apresentada em seu formato original. Temp-Table tt-formatar-faixa: possui as definies das propriedades das clulas a serem formatadas nas planilhas, sendo que dever ser informada uma faixa de clulas para a formatao.
TEMP-TABLE tt-formatar-faixa Atributo arquivo-num planilha-num faixa-dados faixa-cor-interior faixa-alinhamento-horizontal faixa-alinhamento-vertical faixa-fonte-nome faixa-fonte-tamanho faixa-fonte-negrito faixa-fonte-italico faixa-fonte-sublinhado faixa-fonte-cor faixa-tipo-borda-sup faixa-tipo-borda-inf faixa-tipo-borda-esq faixa-tipo-borda-dir Tipo integer integer character integer integer integer character integer logical logical integer integer integer integer integer integer Formato >9 >9 x(32) >9 9 9 x(255) >9 Valor Inicial 1

9 >9 9 9 9 9

58 4 1 Times New Roman 10 no no 3 57 7 7 7 7

* ver Definio Temp-Table tt-formatar-faixa * ver Principais Validaes da Temp-Table tt-formatar-faixa * ver Paleta de Cores * ver Referncia sobre Tipo Alinhamento Horizontal * ver Referncia sobre Tipo Alinhamento Vertical * ver Referncia sobre Tipo Sublinhado * ver Referncia sobre Tipo Borda

Atributo arquivo-num planilha-num faixa-dados faixa-cor-interior faixa-alinhamento-horizontal faixa-alinhamento-vertical faixa-valor faixa-fonte-nome faixa-fonte-tamanho faixa-fonte-negrito faixa-fonte-italico faixa-fonte-sublinhado faixa-fonte-cor faixa-tipo-borda-sup faixa-tipo-borda-inf faixa-tipo-borda-esq faixa-tipo-borda-dir

Descrio Nmero do arquivo Nmero da planilha Faixa de dados (Ex.: A1:C10) Nmero da cor Tipo de alinhamento horizontal Tipo de alinhamento vertical Valor a ser inserido na clula Nome da fonte da clula Tamanho da fonte da clula Exibir fonte em negrito Exibir fonte em itlico Tipo de sublinhado Nmero da cor Tipo de borda superior Tipo de borda inferior Tipo de borda esquerda Tipo de borda direita

Temp-Table tt-grafico2: possui as definies, gerais, sobre cada um dos grficos a serem criados.
TEMP-TABLE tt-grafico2 Atributo arquivo-num planilha-num Tipo integer integer Formato >9 >9 Valor Inicial 1

Datasul S.A.

Pgina 3

grafico-nome grafico-titulo grafico-tipo intervalo-linha-ini intervalo-linha-fin intervalo-coluna-ini intervalo-coluna-fin intervalo-tipo exibir-legenda exibir-rotulo-dados exibir-eixo-cat-x exibir-eixo-val-z

character character integer integer integer integer integer integer logical logical logical logical

x(030) x(255) >9 >>>>9 >>>>9 >>9 >>9 9

1 65536 1 255 yes yes yes yes

* ver Definio Temp-Table tt-grafico2 * ver Principais Validaes da Temp-Table tt-grafico * ver Referncia sobre Tipo Grfico * ver Referncia sobre Tipo Plotagem Dados

Atributo arquivo-num planilha-num grafico-nome grafico-titulo grafico-tipo intervalo-linha-ini intervalo-linha-fin intervalo-coluna-ini intervalo-coluna-fin intervalo-tipo exibir-legenda exibir-rotulo-dados exibir-eixo-cat-x exibir-eixo-val-z

Descrio Nmero do arquivo Nmero da planilha Nome do grfico Ttulo do grfico Tipo do grfico Nmero da linha inicial do intervalo dos dados de origem do grfico Nmero da linha final do intervalo dos dados de origem do grfico Nmero da coluna inicial do intervalo dos dados de origem do grfico Nmero da coluna final do intervalo dos dados de origem do grfico Tipo de plotagem dos dados Exibir legenda Exibir rtulo dos dados Exibe ou no o valores do eixo X Exibe ou no o valores do eixo Z

Temp-table tt-erros: possui todos os erros encontrados pela API.


TEMP-TABLE tt-erros Atributo cod-erro desc-erro
* ver Definio Temp-Table tt-erros

Tipo integer character

Formato x(256)

Valor Inicial

Atributo cod-erro desc-erro

Descrio Nmero do erro Descrio do erro ocorrido da ut-msgs

Temp-Table tt- imagens: possui as informaes para a insero de imagens na planilha.


TEMP-TABLE tt-formatar-faixa Atributo arquivo-num planilha-num celula-coluna celula-linha arq-path
* ver Definio Temp-Table tt-imagens

Tipo integer integer integer integer Character

Formato >9 >9 >>9 >>>>9

Valor Inicial 1

Atributo arquivo-num planilha-num celula-coluna celula-linha arq-path

Descrio Nmero do arquivo Nmero da planilha Nmero da coluna Nmero da linha Caminho para onde se encontra a imagem a ser inserida na planilha

Datasul S.A.

Pgina 4

Execuo
Execuo: A API utp/utapi013.p ir executar 3 validaes bsicas: 1 Validao: Verso de Integrao O programa ir verificar se o programa chamador est ntegro com a API, e isto ocorre atravs da verificao da verso de integrao passada como parmetro. Caso a verso esteja incompatvel, a API abortar a execuo retornando o cdigo de erro 3941. 2 Validao: Cadastro da impressora Se os parmetros enviados para a API indicarem que o documento deve ser impresso e no existe nenhuma impressora cadastrada no Windows a Api retornar o erro 25001. 3 Validao: Inconsistncia ou Insuficincia dos Dados O programa ir verificar a inconsistncia e/ou insuficincia dos dados, e isto ocorre atravs da verificao dos dados passados como parmetros. Caso os dados sejam inconsistentes ou insuficientes, a API abortar a execuo retornando o cdigo de erro 8646. Cabe ao programa de origem, verificar os registros que esto com erro.
* ver Principais Validaes da Temp-Table tt-configuracao2 * ver Principais Validaes da Temp-Table tt-planilha2 * ver Principais Validaes da Temp-Table tt-dados * ver Principais Validaes da Temp-Table tt-formatar-faixa * ver Principais Validaes da Temp-Table tt-grafico2

Parmetros de Sada
No retorno da execuo do procedimento interno pi-execute2, ser retornado um dos valores abaixo (via RETURN-VALUE): NOK: criao do arquivo sem sucesso pois os dados passados como parmetros, atravs das Temp-Tables, so inconsistentes ou foram insuficientes; OK: criao do arquivo com sucesso. No caso do retorno ser NOK, todos os erros encontrados sero retornados atravs da TempTable tt-erros.

Inserindo Linha de Tendncia


possvel inserir linhas de tendncias em grficos do tipo Disperso XY. Para fazer isso deve ser executada a procedure pi-add-line-series, ser retornado um dos valores abaixo (via RETURN-VALUE): NOK: a linha no foi criada pois j foi criada uma linha para a srie informada; OK: linha foi criada com sucesso. No caso de erro no ser gravado nenhum registro na temp-table tt-erros. Possveis erros referentes a configurao da linha inserida, sero validados apenas na execuo da procedure pi-execute2. A procedure pi-add-line-series, deve ser executada antes da procedure pi-execute2 que responsvel pela criao dos grficos. Parmetros de Entrada:

Datasul S.A.

Pgina 5

Atributo iType iForward iBackward lDisplayEquation lDisplayRSquared cName iSerieNumber iArquivo-num iOrder iPeriod lIntercept iLineColor Atributo iType iForward iBackward lDisplayEquation lDisplayRSquared cName iSerieNumber iArquivo-num iOrder iPeriod lIntercept iLineColor

Tipo integer integer integer logical logical character integer integer integer integer logical integer

Formato

Valor Inicial -4132 0 0 False False 0 0 0 0 False 0

Descrio Estilo da linha Previso de prospectiva Previso de retrospectiva Exibir equao no grfico Exibir valor de R-quadrado no grfico Nome da linha Nmero da srie que a linha vai utilizar Nmero do arquivo Nmero da Ordem polinomial Perodo da mdia mvel Interseo Cor da linha

* ver Referncia sobre Estilo de Linha * ver Paleta de Cores * ver Principais Validaes da Linha de Tendncia

Outras Informaes
A seguir encontram-se as definies das Temp-Tables a serem utilizadas pela API utp/utapi013.p. Definio Temp-Table tt-configuracao2:
define temp-table tt-configuracao2 field versao-integracao as integer field arquivo-num as integer field arquivo as char field total-planilhas as integer field exibir-construcao as logical field abrir-excel-termino as logical field imprimir as logical field orientacao as integer index tt-configuracao2-pri is unique versao-integracao arquivo-num. format format format format ">>9" ">9" initial 1 "x(255)" initial "c:\tmp\utapi013.xls" ">9" initial 05 initial no initial no initial no initial 1

primary

Definio Temp-Table tt-planilha2:


define temp-table tt-planilha2 field arquivo-num as integer format field planilha-num as integer format field planilha-nome as char format field linhas-grade as logical field largura-coluna as decimal format field formatar-planilha as logical index tt-planilha2-pri is unique primary arquivo-num planilha-num index tt-planilha2-aux is unique arquivo-num planilha-nome. ">9" initial ">9" "x(030)" initial ">>9.99" initial initial 1 no 8.50 extent 256 yes

Datasul S.A.

Pgina 6

Definio Temp-Table tt-dados:


define temp-table tt-dados field arquivo-num as field planilha-num as field celula-coluna as field celula-linha as field celula-cor-interior as field celula-formato as field celula-formula as field celula-alinhamento-horizontal as field celula-alinhamento-vertical as field celula-valor as field celula-fonte-nome as Roman" field celula-fonte-tamanho as field celula-fonte-negrito as field celula-fonte-italico as field celula-fonte-sublinhado as field celula-fonte-cor as field celula-tipo-borda-sup as field celula-tipo-borda-inf as field celula-tipo-borda-esq as field celula-tipo-borda-dir as index tt-dados-pri is unique primary arquivo-num planilha-num celula-coluna celula-linha. integer integer integer integer integer char char integer integer char char integer logical logical integer integer integer integer integer integer format format format format format format format format format format format ">9" ">9" ">>9" ">>>>9" ">9" "x(255)" "x(255)" "9" "9" "x(255)" "x(255)" initial 1

initial 58 initial 4 initial 1 initial "Times New initial initial initial initial initial initial initial initial initial 10 no no 3 57 7 7 7 7

format ">9" format format format format format format "9" ">9" "9" "9" "9" "9"

Definio Temp-Table tt-formatar-faixa:


DEFINE TEMP-TABLE tt-formatar-faixa field arquivo-num field planilha-num FIELD faixa-dados field faixa-cor-interior field faixa-alinhamento-horizontal field faixa-alinhamento-vertical field faixa-fonte-nome field faixa-fonte-tamanho field faixa-fonte-negrito field faixa-fonte-italico field faixa-fonte-sublinhado field faixa-fonte-cor field faixa-tipo-borda-sup field faixa-tipo-borda-inf field faixa-tipo-borda-esq field faixa-tipo-borda-dir as as AS as as as as as as as as as as as as as integer integer CHAR integer integer integer char integer logical logical integer integer integer integer integer integer format format FORMAT format format format format format format format format format format format ">9" ">9" "x(32)" ">9" "9" "9" "x(255)" ">9" "9" ">9" "9" "9" "9" "9" initial 1 initial initial initial initial initial initial initial initial initial initial initial initial initial 58 /* None */ 4 /* Left */ 1 /* Bottom */ "Times New Roman" 10 no no 3 /* None */ 57 /* Automatic */ 7 /* None */ 7 /* None */ 7 /* None */ 7 /* None */.

Definio Temp-Table tt-grafico2:


define temp-table tt-grafico2 field arquivo-num as field planilha-num as field grafico-nome as field grafico-titulo as field grafico-tipo as field intervalo-linha-ini as field intervalo-linha-fin as field intervalo-coluna-ini as field intervalo-coluna-fin as field intervalo-tipo as field exibir-legenda as field exibir-rotulo-dados as field exibir-eixo-cat-x as field exibir-eixo-val-z as index tt-grafico-pri is unique arquivo-num planilha-num index tt-grafico-aux is unique arquivo-num grafico-nome. integer integer char char integer integer integer integer integer integer logical logical logical logical primary format format format format format format format format format format ">9" ">9" "x(030)" "x(255)" ">9" ">>>>9" ">>>>9" ">>9" ">>9" "9" initial 1

initial initial initial initial initial initial initial initial

1 65536 1 255 yes yes yes yes

Definio Temp-Table tt-erros:


define temp-table tt-erros field cod-erro as integer

Datasul S.A.

Pgina 7

field desc-error as char

format "x(256)".

Definio Temp-Table tt-imagens:


DEFINE TEMP-TABLE tt-imagens FIELD arquivo-num AS INTEGER FORMAT ">9" FIELD planilha-num AS INTEGER FORMAT ">9" FIELD celula-coluna AS INTEGER FIELD celula-linha AS INTEGER FIELD arq-path AS CHARACTER INDEX tt-imagens-pri IS UNIQUE PRIMARY arquivo-num planilha-num celula-coluna celula-linha .

A seguir encontram-se as principais validaes a serem executadas em cada uma das TempTables de entrada utilizadas pelo procedimento interno pi-execute. Principais Validaes da Temp-Table tt-configuracao2 : 1 Existncia de dados na Temp-Table tt-configuracao2; 2 Integridade do campo tt-configuracao2.versao-integracao; 3 Inexistncia do arquivo a ser criado, sendo passado como parmetro atravs do campo tt-configuracao2.arquivo; 4 Integridade dos dados. Principais Validaes da Temp-Table tt-planilha2 : 1 Existncia de dados na Temp-Table tt-planilha2; 2 Integridade dos dados. Principais Validaes da Temp-Table tt-dados : 1 Existncia de dados na Temp-Table tt-dados; 2 Integridade dos dados. Principais Validaes da Temp-Table tt-formatar-faixa : 1 Integridade dos dados. Principais Validaes da Temp-Table tt-grafico2 : 1 Integridade dos dados. Principais Validaes da Linha de Tendncia : 1 Tipo do grfico deve ser Disperso XY(27); 2 Deve ser informado um valor vlido para o estilo da linha; 3 Para linhas Polinomiais(3) a Ordem deve ser entre 2 e 6; 4 Para linhas de Mdia Mvel(6) o perodo deve ser maior ou igual a dois e menor que a quantidade de pontos, sendo que o valor mximo permitido 256. A seguir encontra-se um exemplo de Macro que retorna a uma frmula de uma clula em idioma de macro: Sub TraduoFunes() MsgBox Worksheets("<Planilha>").Range("<Clula>").Formula End Sub Onde: <Planilha>: deve ser indicado o Nome da Planilha <Clula>: deve ser indicada a Clula que deseja-se retorna o valor em idioma de macro A seguir encontram-se referncias sobre os valores que alguns campos podem assumir : Datasul S.A.

Pgina 8

Referncia Tipo Alinhamento Horizontal 1 - Centralizado 2 - Distribudo 3 - Justificado 4 - Esquerda 5 - Direita Referncia Tipo Alinhamento Vertical 1 - Abaixo 2 - Centralizado 3 - Distribudo 4 - Justificado 5 - Acima Referncia Tipo Borda 1 - Continua 2 - Tracejada 3 - Ponto-Trao 4 - Ponto-Ponto-Trao 5 - Pontilhada 6 - Dupla 7 - Nenhum Referncia Tipo Plotagem Dados 1 - Por Linhas 2 - Por Colunas Referncia Tipo Sublinhado 1 - Duplo 2 - Contbil Duplo 3 - Nenhum 4 - Simples 5 - Contbil Simples Referncia Tipo Grfico 1 - Colunas Agrupadas 2 - Colunas Agrupadas 3D 3 - Colunas Sobrepostas 4 - Colunas Sobrepostas 3D 5 - Colunas 100% Sobrepostas 6 - Colunas 100% Sobrepostas 3D 7 - Colunas 3D 8 - Barras Agrupadas 9 - 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 Datasul S.A. Pgina 9

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 -

Barras de Pizza Disperso XY Disperso com Linhas Ajustadas Disperso com Linhas Ajustadas sem Marcadores de Dados Disperso com Linhas Disperso com Linhas e sem Marcadores de Dados Bolhas Bolhas com efeitos 3D rea rea 3D reas Sobrepostas reas Sobrepostas 3D reas 100% Sobrepostas reas 100% Sobrepostas 3D Rosca Rosca Explodida Radar Radar com Marcadores de Dados Radar Preenchido Superfcie 3D Superfcie (Vista de Cima) Superfcie 3D (Moldura de Fio) Superfcie (Vista de cima com Moldura de Fio) Cotaes da Bolsa (Alta-Baixa-Fechamento) Cotaes da Bolsa (Volume-Alta-Baixa-Fechamento) Cotaes da Bolsa (Abertura-Alta-Baixa-Fechamento) Cotaes da Bolsa (Volume-Abertura-Alta-Baixa-Fechamento) Colunas Cilndricas Agrupadas Barras Cilndricas Agrupadas Colunas Cilndricas Sobrepostas Barras Cilndricas Sobrepostas Colunas Cilndricas 100% Sobrepostas Barras Cilndricas 100% Sobrepostas Colunas Cilndricas 3D Colunas Cnicas Agrupadas Barras Cnicas Agrupadas Colunas Cnicas Sobrepostas Barras Cnicas Sobrepostas Colunas Cnicas 100% Sobrepostas Barras Cnicas 100% Sobrepostas Colunas Cnicas 3D Colunas Piramidais Agrupadas Barras Piramidais Agrupadas Colunas Piramidais Sobrepostas Barras Piramidais Sobrepostas Colunas Piramidais 100% Sobrepostas Barras Piramidais 100% Sobrepostas Colunas Piramidais 3D

Referncia Estilo de Linha 3 Polinomial 4 Potncia 5 Exponencial 6 Mdia Mvel -4132 Linear -4133 Logartmica Paleta de Cores Datasul S.A. Pgina 10

57 Automtica 58 Nenhuma Pontos Importantes: 1 Para uma melhor performance da API, foi implementada a lgica de cpia dos registros para o BUFFER e sua posterior gravao na planilha. Esta lgica trabalha como se fosse realizado um CTRL+C das informaes e dado um CTRL+V na planilha Excel. Programa Exemplo: def var vlr as deci init 10.5. {utp/utapi013.i} run utp/utapi013.p persistent set h-utapi013. /*SYSTEM-DIALOG PRINTER-SETUP.*/ os-delete value("c:\tmp\teste_utapi013.xls"). CREATE tt-configuracao2. ASSIGN tt-configuracao2.versao-integracao = 1 tt-configuracao2.arquivo-num =1 tt-configuracao2.arquivo = "c:\tmp\teste_utapi013.xls" tt-configuracao2.total-planilha =2 tt-configuracao2.exibir-construcao = no tt-configuracao2.abrir-excel-termino = yes tt-configuracao2.imprimir = no tt-configuracao2.orientacao = 2. CREATE tt-planilha2. ASSIGN tt-planilha2.arquivo-num = 1 tt-planilha2.planilha-num = 1 tt-planilha2.planilha-nome = "Plan 1" tt-planilha2.linhas-grade = no tt-planilha2.largura-coluna = 12.50 tt-planilha2.formatar-planilha = NO tt-planilha2.formatar-faixa = 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 = "Regio". 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". Datasul S.A. Pgina 11

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 = string(vlr). 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 = string(vlr + 10). 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-formato = "0,000" tt-dados.celula-valor = string(vlr + 20.456). CREATE tt-dados. Datasul S.A. Pgina 12

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 = string(vlr + 30). 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 = string(vlr + 40). CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 1 tt-dados.celula-coluna = 1 tt-dados.celula-linha = 8 tt-dados.celula-formato = "@" tt-dados.celula-valor = "Use @ para exibir os dados em seu formato original ". CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 1 tt-dados.celula-coluna = 1 tt-dados.celula-linha = 9 tt-dados.celula-formato = "@" tt-dados.celula-valor = "000001111". CREATE tt-formatar-faixa. ASSIGN tt-formatar-faixa.arquivo-num = 1 tt-formatar-faixa.planilha-num = 1 tt-formatar-faixa.faixa-dados = "A1:B6" tt-formatar-faixa.faixa-fonte-cor = 5 tt-formatar-faixa.faixa-fonte-negrito = YES tt-formatar-faixa.faixa-fonte-nome = "Tahoma". CREATE tt-grafico2. ASSIGN tt-grafico2.arquivo-num = 1 tt-grafico2.planilha-num = 1 tt-grafico2.grafico-nome = "Graf 1" tt-grafico2.grafico-titulo = "Valores (Plan 1)" tt-grafico2.grafico-tipo = 4 tt-grafico2.intervalo-linha-ini = 1 tt-grafico2.intervalo-linha-fin = 6 tt-grafico2.intervalo-coluna-ini = 1 tt-grafico2.intervalo-coluna-fin = 2 tt-grafico2.exibir-eixo-cat-x = no tt-grafico2.exibir-eixo-val-z = yes tt-grafico2.intervalo-tipo = 1. CREATE tt-planilha2. ASSIGN tt-planilha2.arquivo-num = 1 tt-planilha2.planilha-num = 2 tt-planilha2.planilha-nome = "Plan 2" tt-planilha2.linhas-grade = no tt-planilha2.largura-coluna = 12.50 tt-planilha2.formatar-planilha = NO tt-planilha2.formatar-faixa = YES. Datasul S.A. Pgina 13

CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 2 tt-dados.celula-coluna = 1 tt-dados.celula-linha = 1 tt-dados.celula-valor = "Regio". CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 2 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 = 2 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 = 2 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 = 2 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 = 2 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 = 2 tt-dados.celula-coluna = 2 tt-dados.celula-linha = 1 tt-dados.celula-valor = "Perodo". CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 2 tt-dados.celula-coluna = 2 tt-dados.celula-linha = 2 tt-dados.celula-valor = string(today). CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 Datasul S.A. Pgina 14

tt-dados.planilha-num = 2 tt-dados.celula-coluna = 2 tt-dados.celula-linha = 3 tt-dados.celula-valor = string(today + 10). CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 2 tt-dados.celula-coluna = 2 tt-dados.celula-linha = 4 tt-dados.celula-valor = string(today + 15). CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 2 tt-dados.celula-coluna = 2 tt-dados.celula-linha = 5 tt-dados.celula-valor = string(today - 10). CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 2 tt-dados.celula-coluna = 2 tt-dados.celula-linha = 6 tt-dados.celula-valor = string(today + 30). CREATE tt-formatar-faixa. ASSIGN tt-formatar-faixa.arquivo-num = 1 tt-formatar-faixa.planilha-num = 2 tt-formatar-faixa.faixa-dados = "A1:B6" tt-formatar-faixa.faixa-fonte-cor = 10 tt-formatar-faixa.faixa-fonte-negrito = YES tt-formatar-faixa.faixa-fonte-nome = "Tahoma". CREATE tt-grafico2. ASSIGN tt-grafico2.arquivo-num = 1 tt-grafico2.planilha-num = 2 tt-grafico2.grafico-nome = "Graf 2" tt-grafico2.grafico-titulo = "Valores (Plan 1)" tt-grafico2.grafico-tipo = 4 tt-grafico2.exibir-legenda = no tt-grafico2.intervalo-linha-ini = 1 tt-grafico2.intervalo-linha-fin = 6 tt-grafico2.intervalo-coluna-ini = 1 tt-grafico2.intervalo-coluna-fin = 2 tt-grafico2.exibir-eixo-cat-x = yes tt-grafico2.exibir-eixo-val-z = no. RUN pi-execute2 in h-utapi013 (INPUT-OUTPUT TABLE tt-configuracao2, INPUT-OUTPUT TABLE tt-planilha2, INPUT-OUTPUT TABLE tt-dados, INPUT-OUTPUT TABLE tt-formatar-faixa, INPUT-OUTPUT TABLE tt-grafico2, INPUT-OUTPUT TABLE tt-erros).

Datasul S.A.

Pgina 15

if return-value = "nok" then do: for each tt-erros: disp tt-erros with 1 col width 500. end. end. Delete procedure h-utapi013. Programa Exemplo Adicionando Linha de Tendncia: def var vlr as deci init 10.5. {utp/utapi013.i} run utp/utapi013.p persistent set h-utapi013. /*SYSTEM-DIALOG PRINTER-SETUP.*/ os-delete value("c:\temp\teste_utapi013.xls"). CREATE tt-configuracao2. ASSIGN tt-configuracao2.versao-integracao = 1 tt-configuracao2.arquivo-num =1 tt-configuracao2.arquivo = "c:\temp\teste_utapi013.xls " tt-configuracao2.total-planilha =1 tt-configuracao2.exibir-construcao = no tt-configuracao2.abrir-excel-termino = yes tt-configuracao2.imprimir = no tt-configuracao2.orientacao = 2. CREATE tt-planilha2. ASSIGN tt-planilha2.arquivo-num = 1 tt-planilha2.planilha-num = 1 tt-planilha2.planilha-nome = "Plan 1" tt-planilha2.linhas-grade = no tt-planilha2.largura-coluna = 12.50 tt-planilha2.formatar-planilha = NO tt-planilha2.formatar-faixa = NO. 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 = "Srie1". 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 = "10". 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 = "15". CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 1 tt-dados.celula-coluna = 1 tt-dados.celula-linha = 4 Datasul S.A. Pgina 16

tt-dados.celula-valor = "20". 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 = "30". 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 = "35". CREATE tt-grafico2. ASSIGN tt-grafico2.arquivo-num = 1 tt-grafico2.planilha-num = 1 tt-grafico2.grafico-nome = "Graf 1" tt-grafico2.grafico-titulo = "Valores (Plan 1)" tt-grafico2.grafico-tipo = 27 tt-grafico2.intervalo-linha-ini = 1 tt-grafico2.intervalo-linha-fin = 6 tt-grafico2.intervalo-coluna-ini = 1 tt-grafico2.intervalo-coluna-fin = 1 tt-grafico2.exibir-eixo-cat-x = NO tt-grafico2.exibir-eixo-val-z = YES tt-grafico2.intervalo-tipo = 2. RUN pi-add-line-series in h-utapi013 ( INPUT -4132, INPUT 0, INPUT 0, INPUT FALSE, INPUT FALSE, INPUT "Linha Teste", INPUT 1, INPUT 1, INPUT 3, INPUT 0, INPUT FALSE, INPUT 3 ). RUN pi-execute2 in h-utapi013 (INPUT-OUTPUT TABLE tt-configuracao2, INPUT-OUTPUT TABLE tt-planilha2, INPUT-OUTPUT TABLE tt-dados, INPUT-OUTPUT TABLE tt-formatar-faixa, INPUT-OUTPUT TABLE tt-grafico2, 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. Delete procedure h-utapi013.

Datasul S.A.

Pgina 17

Programa Exemplo Adicionando Imagem a planilha: def var vlr as deci init 10.5. {utp/utapi013.i} run utp/utapi013.p persistent set h-utapi013. /*SYSTEM-DIALOG PRINTER-SETUP.*/ os-delete value("c:\temp\teste_utapi013.xls"). CREATE tt-configuracao2. ASSIGN tt-configuracao2.versao-integracao = 1 tt-configuracao2.arquivo-num = 1 tt-configuracao2.arquivo = "c:\temp\teste_utapi013.xls " tt-configuracao2.total-planilha = 1 tt-configuracao2.exibir-construcao = no tt-configuracao2.abrir-excel-termino = yes tt-configuracao2.imprimir = no tt-configuracao2.orientacao = 2. CREATE tt-planilha2. ASSIGN tt-planilha2.arquivo-num = 1 tt-planilha2.planilha-num = 1 tt-planilha2.planilha-nome = "Plan 1" tt-planilha2.linhas-grade = YES tt-planilha2.largura-coluna[1] = 22.50 tt-planilha2.largura-coluna[2] = 12.50 tt-planilha2.largura-coluna[10] = 82.50 tt-planilha2.formatar-planilha = NO tt-planilha2.formatar-faixa = NO. 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 = "Srie1". 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 = "10". 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 = "15". 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 = "20". CREATE tt-dados. ASSIGN tt-dados.arquivo-num = 1 tt-dados.planilha-num = 1 Datasul S.A. Pgina 18

tt-dados.celula-coluna = 1 tt-dados.celula-linha = 5 tt-dados.celula-valor = "30". 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 = "35". RUN pi-seta-imagem IN h-utapi013 ( 1 /* iArquivoNum : Nmero do arquivo */ , 1 /* iPlanilhaNum : Nmero da Planilha */ , 3 /* iCelulaColuna: Nmero da Coluna na qual ser inserida a imagem*/ , 3 /* iCelulaLinha : Nmero da Linha na qual ser inserida a imagem */ , "C:~\imagem.jpg" ). RUN pi-execute2 in h-utapi013 (INPUT-OUTPUT TABLE tt-configuracao2, INPUT-OUTPUT TABLE tt-planilha2, INPUT-OUTPUT TABLE tt-dados, INPUT-OUTPUT TABLE tt-formatar-faixa, INPUT-OUTPUT TABLE tt-grafico2, 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. Delete procedure h-utapi013.

Datasul S.A.

Pgina 19

Você também pode gostar