Lentidão ao processar planilhas Excel
Moderador: Moderadores
Lentidão ao processar planilhas Excel
Bom dia,
Alguém tem alguma solução que melhore a performance na manipulação (leitura/gravação) de planilhas Excel?
Parece que se trata de um problema com o objeto Excel.Application e não da linguagem utilizada. Fiz alguns testes com xHarbour, FoxPro e Delphi e em todos a manipulação, mesmo que seja apenas de leitura, fica muito lenta.
At.te,
Alguém tem alguma solução que melhore a performance na manipulação (leitura/gravação) de planilhas Excel?
Parece que se trata de um problema com o objeto Excel.Application e não da linguagem utilizada. Fiz alguns testes com xHarbour, FoxPro e Delphi e em todos a manipulação, mesmo que seja apenas de leitura, fica muito lenta.
At.te,
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Lentidão ao processar planilhas Excel
Olá!
SSD + RAM + I7 ou I9.
Saudações,
Itamar M. Lins Jr.
SSD + RAM + I7 ou I9.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Lentidão ao processar planilhas Excel
E talvez memória.
Por ADO não sei sobre gravação, mas leitura vai bem.
Não uso isso do Excel, pra não obrigar Excel.
Por ADO não sei sobre gravação, mas leitura vai bem.
Não uso isso do Excel, pra não obrigar Excel.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Lentidão ao processar planilhas Excel
Meu equipamento tem:
- SSD 480
- 16G RAM
- Processador I7
Durante a leitura da planilha, o consumo de memória e energia fica nas alturas
- SSD 480
- 16G RAM
- Processador I7
Durante a leitura da planilha, o consumo de memória e energia fica nas alturas
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Lentidão ao processar planilhas Excel
Olá!
Ai com essa configuração, não sei mesmo.
Só lendo em grupos de usuários do Excel.
Desliga os antivírus.
Saudações,
Itamar M. Lins Jr.
Ai com essa configuração, não sei mesmo.
Só lendo em grupos de usuários do Excel.
Desliga os antivírus.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Lentidão ao processar planilhas Excel
Olá!
Vi alguns, mandando desligar os addons. add-ins
https://www.getdroidtips.com/getting-hi ... el-Add-ins
https://answers.microsoft.com/en-us/mso ... b81b07ba5d
Saudações,
Itamar M. Lins Jr.
Vi alguns, mandando desligar os addons. add-ins
https://www.getdroidtips.com/getting-hi ... el-Add-ins
https://answers.microsoft.com/en-us/mso ... b81b07ba5d
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
ivanil
- Usuário Nível 3

- Mensagens: 166
- Registrado em: 11 Set 2004 15:13
- Localização: Florianópolis/SC
Lentidão ao processar planilhas Excel
Ola;
Acredito que você esteja usando um for ou while para lidar com célula a célula correto?
Isso se tornou impraticável para meu uso devido à demora;
Você pode lidar de duas forma, atribuindo uma array a um range previamente definido; mas ainda assim ganha pouco desempenho ou;;;
utilizar o Clipboard para colar o texto diretamente no Excel; com isso resolvi o problema de lentidão (milhares de linhas) no entanto, tem um efeito colateral, o usuário pode tentar o usar o clipboard durante o processo; neste caso eu marco a entrada e após a colagem, verifico se a marcação é igual;
Quanto ao consumo de recurso, você precisa liberar o CPU a cada ciclo, caso use minigui, doEvents();
at;
Ivanil
Acredito que você esteja usando um for ou while para lidar com célula a célula correto?
Isso se tornou impraticável para meu uso devido à demora;
Você pode lidar de duas forma, atribuindo uma array a um range previamente definido; mas ainda assim ganha pouco desempenho ou;;;
utilizar o Clipboard para colar o texto diretamente no Excel; com isso resolvi o problema de lentidão (milhares de linhas) no entanto, tem um efeito colateral, o usuário pode tentar o usar o clipboard durante o processo; neste caso eu marco a entrada e após a colagem, verifico se a marcação é igual;
Quanto ao consumo de recurso, você precisa liberar o CPU a cada ciclo, caso use minigui, doEvents();
at;
Ivanil
Lentidão ao processar planilhas Excel
Ivanil, para gerar planilha estamos usando a libxlsxwriter.dll e fica muito rápido. Meu problema é para fazer a leitura de uma planilha e tratar as células pois essa dll não possui funções de leitura, apenas gravação (pelo menos não conseguimos encontrar esse recurso nessa DLL).ivanil escreveu:Ola;
Acredito que você esteja usando um for ou while para lidar com célula a célula correto?
Isso se tornou impraticável para meu uso devido à demora;
Você pode lidar de duas forma, atribuindo uma array a um range previamente definido; mas ainda assim ganha pouco desempenho ou;;;
utilizar o Clipboard para colar o texto diretamente no Excel; com isso resolvi o problema de lentidão (milhares de linhas) no entanto, tem um efeito colateral, o usuário pode tentar o usar o clipboard durante o processo; neste caso eu marco a entrada e após a colagem, verifico se a marcação é igual;
Quanto ao consumo de recurso, você precisa liberar o CPU a cada ciclo, caso use minigui, doEvents();
at;
Ivanil
Vc acertou, eu uso o For...Next para percorrer todas as linhas da planilha.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Lentidão ao processar planilhas Excel
Cheguei a ver as mensagens circulando no harbour-users, quando pediram pra poder trabalhar com array nisso do Excel.Adson escreveu:Vc acertou, eu uso o For...Next para percorrer todas as linhas da planilha.
Fazem muitos anos isso, não lembro se era pra velocidade ou não.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Lentidão ao processar planilhas Excel
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Lentidão ao processar planilhas Excel
Adotei uma decisão mais "radical" 
Salvei a planilha como .csv (delimitado por vírgulas) e tratei-a como um arquivo texto.
O tempo de processamento da planilha, usando o objeto Excel.Application, demorava cerca de 27 minutos e caiu para 7 minutos.
Obrigado a todos pela ajuda.
Salvei a planilha como .csv (delimitado por vírgulas) e tratei-a como um arquivo texto.
O tempo de processamento da planilha, usando o objeto Excel.Application, demorava cerca de 27 minutos e caiu para 7 minutos.
Obrigado a todos pela ajuda.
