Erro ao ler dado do excel
07/01/2013
0
Gostaria que alguém pudesse em ajudar em um problema. Tenho uma aplicação que lê uma coluna em um arquivo excel. Essa coluna contém vários cpf''s. Minha aplicação consegue ler quase todos os cpf''s. O problema é que tem certos cpf''s que minha aplicação não consegue ler. Usando o break point, notei que ao invés de ler o próximo cpf, minha aplicação traz sempre o valor "" (vazio) da célula lida do excel. Outra coisa que também notei, é que isso so acontece com os cpf''s que não vem com formato. Os que vem no formato xxxxxxxxx-xx, o cpf é lido normalmente. Mas quando o cpf vem no formato xxx.xxx.xxx-xx ou xxxxxxxxxxx ou xxx.xxx.xxx/xx, o cpf não é lido. Não tenho noção do que possa ser, mas é estranho uma vez que a aplicação deveria ler somente o valor da coluna, sem se preocupar com a formatação do cpf.
É isso amigos, quem puder ajudar, desde já agradeço.
Abs!!
Diego Gonçalves
Posts
07/01/2013
Robson Alves
você tem certeza que não está lendo as colunas erradas?
Tipo estar lendo a coluna 0 e depois incrementar para a coluna 1...
Posta o seu código!
Abraços.
07/01/2013
Diego Gonçalves
String strConn = "";
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + caminhoArqXls + ";Extended Properties=Excel 12.0;";
OleDbConnection objConn = new OleDbConnection(strConn);
// Abre a conexão com o OleDb
objConn.Open();
OleDbCommand objCmdSelect = new OleDbCommand(String.Format("SELECT * FROM []", this.getNomePlanilha(objConn)), objConn);
// Cria o Adapter
OleDbDataAdapter objAdapter = new OleDbDataAdapter();
// Passa o SELECT para o adapter
objAdapter.SelectCommand = objCmdSelect;
// Cria o DataSet que irá receber os dados
//DataSet objDataset = new DataSet();
DataTable dt = new DataTable();
// Passa os dados para o DataSet
objAdapter.Fill(dt);
//int cont = 0;
string cpf = string.Empty;
string valor = string.Empty;
StringBuilder dados = new StringBuilder();
DataTable funcionarios = new DataTable();
foreach (DataRow DR in dt.Rows)
{
cpf = DR[0].ToString().Trim().Replace(".", "").Replace("-", "").Replace("/", "");
valor = DR[1].ToString().Trim().Replace("R", "").Replace("$", "");
if (!cpf.Equals(string.Empty))
{
dados.Append(cpf);
dados.Append("(");
dados.Append(valor);
dados.Append(")");
dados.Append(";");
}
}
07/01/2013
Robson Alves
:/ estranho cara...
07/01/2013
Diego Gonçalves
estranão...
07/01/2013
Robson Alves
Mas nunca vi isso acontecer!...
Clique aqui para fazer login e interagir na Comunidade :)