Importar XLS

Galera estou com dificuldades para importar uma planilha do usuario para a minha base de dados.
Se alguém souber solucionar, preciso de um código que importe os dados da planilha, e verifica se aqueles dados já existem para não acumula-los.
Estou usando o seguinte código, mas no ato da importação, o mesmo apresenta o seguinte erro:

segue o código:

[code]// Address Directory’s uploader of Application
$path = $this->Ini->path_doc;

// Absolute path of the file
{arquivo} = $path . ‘/’ . {arquivo};

$separa = explode(".", {arquivo}); //Separamos o nome do arquivo para verificar seu tipo
$separa = array_reverse($separa); /array_reverse, inverte o array, então se o usuário enviar um arquivo com mais de um ponto, ele pegará o ultimo ponto, depois desse ponto será o tipo do arquivo/
$tipo = $separa[0]; //Pegamos o tipo do arquivo
/* Agora iremos verificar se o arquivo é válido, você pode alterar o tipo de arquivo que deseja receber conforme sua nescessidade */

if($tipo != “xls”) {

echo “”;
sc_redir(ctr_importa_diesel);

} else {

$arq = fopen({arquivo},'r');// le o arquivo txt
while($linha = fgetcsv($arq,2048,';')){ //se extrair uma linha e não for false
		{nome} = $linha[0];
		{endereco} = $linha[1];
		{cep} = $linha[2];
		{cidade} = $linha[3];
		
	
	sc_lookup(ver,"SELECT nome, endereco, cep,cidade FROM planilhas WHERE nome = '{nome}' AND endereco = '{endereco}' AND cep = {cep} AND cidade = '{cidade}'");
		 
		if (empty({ver[0][0]}) && empty({ver[0][1]}) && empty({ver[0][2]})){
		sc_exec_sql("INSERT INTO planilhas (nome,endereco,cep,cidade) VALUES ('{nome}','{endereco}',{cep},'{cidade}')");	
	  	} else {	
		echo "<script>alert('Importação para essa Data e Empresa já foi Realizada!!')</script>";
	  	sc_redir(ctr_importa_diesel);
	    }
	}
   echo "<script>alert('Dados importados com sucesso!!')</script>";
   fclose($arq);
   unlink("{arquivo}");
   sc_redir(ctr_importa_diesel);
}[/code]

Salva a planilha como csv e importa como texto.

Creio que não seja isso Haroldo, mas obrigado irei testar.

Gabriele,

Eu só acho mais fácil e controlável importar um arquivo do tipo text do que um xls, seu domínio será maior e melhor no código.

Salvar a planilha em formato csv o excel faz tranquilamente, use um delimitador de campos tipo o ; ou a , e um delimitador de strings tipo as ".

Leia a linha do arquivo e quebre os campos com comando explode.

Seu controle será muito melhor sobre os valores dos campos e na hora de inserir no banco de dados, terá melhores chances de solucionar os erros que ocorrerem.

pelo undefined offset, provavelmente seu loop que usa alguma array esta errado

Verifica o artigo:
https://suporte.scriptcase.com.br/index.php?/Knowledgebase/Article/View/688/0/aplicacao-com-importacao-excel

Galera, seguindo este código que mandei, estou tentando implementar aqui para ele sempre verificar se há um novo registro na tabela e inserir o mesmo no final da tabela na base de dados.
Alguém tem noção de como ficaria o código?
Desde já, obrigado.