Pessoal,
Boa tarde!
Já vi vários tópicos relacionado a este tema porém ainda não consegui resolver o meu problema.
Preciso da seguinte situação.
O usuário adiciona uma planilha no meu forms e esta planilha adicionada deve ser imputada no banco. (no banco já existe a tabela criada no formato da planilha que irá ser inserida).
alguém pode me ajudar.?
Na verdade preciso que o cara clique em um botão X após ele clicar no mesmo ele seleciona o caminho onde esta a planilha a planilha selecionada deve ser salva no banco.
Abraço!
Excel forms
-
- Rank: Programador Júnior
- Mensagens: 20
- Registrado em: Sex, 21 Set 2007 4:20 pm
- Localização: Americana
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, seguinte...
Aí temos duas situações:
1) Guardar o XLS no banco, através de um BLOB;
2) Ler o xls (posto que você tem as mesmas colunas em uma tabela do teu banco) e, inserir na base de dados;
Sobre as duas situações existem alguns exemplos aqui no fórum.
Dê uma procurada pela palavra "Excel" que talvez ache o tópico indicado.
Qualquer coisa, manda ai.
Aí temos duas situações:
1) Guardar o XLS no banco, através de um BLOB;
2) Ler o xls (posto que você tem as mesmas colunas em uma tabela do teu banco) e, inserir na base de dados;
Sobre as duas situações existem alguns exemplos aqui no fórum.
Dê uma procurada pela palavra "Excel" que talvez ache o tópico indicado.
Qualquer coisa, manda ai.
-
- Rank: Programador Júnior
- Mensagens: 20
- Registrado em: Sex, 21 Set 2007 4:20 pm
- Localização: Americana
Trevisolli
Seguinte,
O esquema para o cara selecionar onde esta a planilha dele eu já consegui fazer utilizando a D2KWUTIL.pll.
A sacada está em como eu pega essa planilha que o cara selecionou e inputar na tabela..não axei nada sobre isso aqui....
tipo um loop que pega linha a linha e salva em uma tabela com a mesma estrutura da planilha.
vlw.!
Seguinte,
O esquema para o cara selecionar onde esta a planilha dele eu já consegui fazer utilizando a D2KWUTIL.pll.
A sacada está em como eu pega essa planilha que o cara selecionou e inputar na tabela..não axei nada sobre isso aqui....
tipo um loop que pega linha a linha e salva em uma tabela com a mesma estrutura da planilha.
vlw.!
-
- Rank: Programador Júnior
- Mensagens: 20
- Registrado em: Sex, 21 Set 2007 4:20 pm
- Localização: Americana
Apenas complementando, estou usando este codigo... Percebo que ele abre a planilha em excel especificada le os dados e fecha. Mais eu gostaria de saber como fazer pra pegar estes dados e armazena-los em uma tabela.
declare
AppID PLS_INTEGER;
DOCID PLS_INTEGER;
conv_established BOOLEAN := FALSE;
V_NM_DESTINO VARCHAR2(32000);
V_DS_CLASSE VARCHAR2(32000);
V_DS_LOCAL VARCHAR2(32000);
V_NM_ARQUIVO VARCHAR2(32000);
V_NM_DIRETORIO VARCHAR2(32000);
V_NR_LINHA NUMBER;
V_NR_COLUNA NUMBER;
V_DS_DADO VARCHAR2(32000);
-- para abrir o arquivo --
Begin
V_NM_DIRETORIO := :bloco.txt_diretorio;
V_NM_ARQUIVO := :bloco.txt_nome;
V_NM_DESTINO := V_NM_DIRETORIO||V_NM_ARQUIVO||'.XLS';
CONV_ESTABLISHED := FALSE;
V_DS_CLASSE := win_api_environment.read_registry('HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xls',null, FALSE);
V_DS_LOCAL := win_api_environment.read_registry('HKEY_CLASSES_ROOT\'||V_DS_CLASSE||'\shell\open\command',null, FALSE);
AppID := DDE.App_Begin (V_DS_LOCAL,DDE.App_Mode_minimized);
WHILE NOT CONV_ESTABLISHED LOOP
BEGIN
DOCID := DDE.INITIATE('EXCEL','SYSTEM');
CONV_ESTABLISHED := TRUE;
EXCEPTION
WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN
CONV_ESTABLISHED := FALSE;
END;
END LOOP;
DDE.Execute(docID, '[Open("'||V_NM_DESTINO||'")]',10000);
docid := DDE.INITIATE('EXCEL',V_NM_DESTINO);
-- para ler o dado -- se o excel for em ingles, ao invez de L usa-se R(row)
DDE.Request (docID, REPLACE('L'||V_NR_LINHA||'C'||V_NR_COLUNA,' '), V_DS_DADO, DDE.Cf_Text, 100000);
--fecha o excel e o arquivo --
DDE.TERMINATE(docID);
dde.app_end(appid);
end;
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
-
- Rank: Programador Júnior
- Mensagens: 20
- Registrado em: Sex, 21 Set 2007 4:20 pm
- Localização: Americana
Trevisolli,
vê se pode me ajudar com este codigo.
Converti a planilha em um arquivo txt separado por ponto e virgula.
Achei este codigo para realizar o processo de inserção dos dados do arquivo txt na tabela minha, porém quando clico no botão para execução é apresentado o erro ORA-302000 sabe me dizer se existe algo errado, alguma sugestão etc?
desde já agradeço a atenção.
vê se pode me ajudar com este codigo.
Converti a planilha em um arquivo txt separado por ponto e virgula.
Achei este codigo para realizar o processo de inserção dos dados do arquivo txt na tabela minha, porém quando clico no botão para execução é apresentado o erro ORA-302000 sabe me dizer se existe algo errado, alguma sugestão etc?
DECLARE
Arq text_io.file_type;
buffer varchar2(1000);
BEGIN
loop
arq:= Text_IO.Fopen('filename',' R');
Text_IO.Get_Line(arq,buffer);
INSERT INTO teste
( A
,B
)
VALUES
(
substr(buffer, 1 ,10) ,
substr(buffer, 11,20)
);
end loop;
commit;
end;
desde já agradeço a atenção.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes