Página 1 de 1

Problema com um célula com data em uma planilha

Enviado: 01 Out 2020 às 14:52
por Jefers0n
Olá,

Vou tentar explicar detalhadamente o problema que estou tendo para ver se alguém consegue me auxiliar, inicialmente achei que fosse problema na aplicação que estou tentando corrigir um problema, mas acredito que esteja ligado mais ao excel mesmo.
Um programa que usa Asp.net tem uma rotina que gera um arquivo .xls(com informações do banco de dados) e baixa em um diretório, este arquivo posteriormente é utilizado por alguém que pode abri-lo, editar alguma informação e depois ele é importado novamente para dentro do sistema, que lê seus dados e atualiza as informações no banco de dados.

O arquivo gerado é uma planilha que tem algumas informações na primeira linha, como se fosse um cabeçalho informativo e abaixo vem uma lista de dados que podem ou não serem editados para posterior importação da planilha para o sistema novamente.

As planilhas tem sempre o mesmo formato, mesmo cabeçalho e mesmas colunas, pode variar apenas a quantidade de linhas.
O problema é que a planilha exportada pelo sistema tem a data 01/09/2020 numa célula do cabeçalho, ao abrir eu vejo que esta com esta data (célula está formatado como data), porém ao importar novamente para o sistema, o ssitema transforma esta planilha em um DataSet e ao ler o conteúdo desta célula, a data muda para 31/08/2016. Isso não acontece sempre, na maioria das outras planilhas não acontecia, nas outras a planilha gerada pelo sistema tinha a data x neste campo e ao importar o dataset gerado tinha a mesma data x nesta célula.

Acredito que possa ser algo na geração do arquivo, pois o arquivo gerado é um csv disfarçado de xls (o sistema monta o arquivo separado por tab e salva com extensão .xls no final), tanto que ao abrí-lo o excel informa que o formato do arqvuio e a extensão não correspondem e sugere salvar em formato excel, faço isso (salvar como - excel 97-2003) e a planilha abre normalmente(aparentemente sem perder dados, pois as informações são exibidas todas corretas), mas mesmo eu vendo que tem a data 01/09/2020 na célula, ao importara o sistema 'entende' 31/08/2016...

Alguém tem alguma dica do que pode estar acontecendo?

Grato.

Re: Problema com um célula com data em uma planilha

Enviado: 01 Out 2020 às 17:14
por babdallas
Minha suspeita: o arquivo que está com data 01/09/2020 está configurado para o sistema de data 1904. Quando é transformado para o sistema de data com 1900, a data vira 31/08/2016.
De alguma forma esta configuração está sendo alterada no processo de importação.

Problema com um célula com data em uma planilha

Enviado: 02 Out 2020 às 09:41
por Jefers0n
Bom dia,
Muito obrigado, era isso mesmo, peguei a planilha gerada que tem a data certa(01/09/2020) e manualmente passei pra formato 1904 e a data foi pra 2024 e em seguida importei pro sistema e debugando vi quando o dataset foi gerado a data veio de lá certinha como 01/09/2020.

Agora terei que descobrir como tratar a solução, teria que testar para saber se está em qual formato 1904 e passar pra 1900 e se ja estiver em 1900 n fazer nada... Pior que a conversão do xls para dataset se dá automáticamente utilizando Provider = Microsoft.Jet.OLEDB.4.0...

Mas pelo menos sei o problema, agora correr para descobrir como resolver :)

Obrigado mais uma vez.