定制 diouro/csv-lib 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

diouro/csv-lib

Composer 安装命令:

composer require diouro/csv-lib

包简介

Uma biblioteca CSV simples e orientada a objetos, criada para a leitura de arquivos CSV e para uso em artigo do site http://sooho.com.br . Por momento essa biblioteca faz apenas a leitura de dados. Para uma versão futura, possivelmente irei implementar métodos novos, como o retorno de dados via Resu

关键字:

README 文档

README

Uma biblioteca CSV simples e orientada a objetos, criada para a leitura de arquivos CSV e para uso em artigo do site http://sooho.com.br . Por momento essa biblioteca faz apenas a leitura de dados. Para uma versão futura, possivelmente irei implementar métodos novos, como o retorno de dados via ResultSet, Filtro de dados, Filtro por Colunas e a possibilidade de Escrita.

Como usar

Fique a vontade para baixar, usa-la como quiser, alterar ou sugerir melhorias. Use o arquivo exemplo_leitura.php como referência.

Instanciando a Classe

O primeiro passo para usar, é intanciar a classe CSV. Toda a biblioca usa Namespace, para evitar conflitos com outros sistemas - visto que Csv e Arquivo, são nomes bem comuns. Comece por inserir a biblioteca e instanciar a classe usando o seguinte código:

# Incluindo a biblioteca CSV
require_once __DIR__ .'/src/CsvReader.php'; 

# Instanciando o Objeto de Manipulação de dados
$csv = new CsvReader( 'movimentos_financeiros.csv',',','"' );

A classe Csv recebe 3 parametros no total. Sendo:

  1. Caminho para o arquivo CSV
  2. Delimitador de Colunas do arquivo
  3. Identificador de Strings caso não passe os 2 últimos parametros, a biblioteca irá considerar como padrão ";" como delimitador de colunas e '"' como idntificador de Strings.

Leitura de dados

A leitura de dados é realizada com o método read() da classe CsvReader. Esse método, também pode receber os 3 parametros citado acima.

# obtendo os dados e realizando um Loop
# com foreach
foreach( $csv->read() as $linha )
    var_dump( $linha );

Outras possibilidades

Existem algumas funções extras que podem ser de alguma utilidade. Seguem!

/**
 * Caminho e Nome do Arquivo
 * saida: string; algo como 'teste_importe__.csv';
 */
echo $csv->filepath() ; 

/**
 * Número total de registros 
 * dentro do arquivo
 * saida: valor int;
 */
echo $csv->numRows() ;

/**
 * Obtendo o tamanho do arquivo
 * formatado em B,KB,MB,GB.
 * saida: Array('size','unit');
 */
$size = $csv->size();
echo $size['size'] . $size['unit'] ;

/**
 * Obtendo a data em que o arquivo foi 
 * Modificado.
 * Nota: Precisa configurar em seu sistema 
 * o timezone com date_default_timezone_set();
 * saida: string; algo como 10/04/2017 19:42:02
 */
echo $csv->dataModificacao() ;

/**
 * Existe a data em que o arquivo foi acessado 
 * por ultimo.
 * saida: string; algo como 10/04/2017 19:42:02
 */
echo $csv->dataAcesso() ;


/**
 * Você também pode transformar o resultado final 
 * em um objeto, se assim desejar e achar mais 
 * confortavel o uso de oop.
 * A conversão funciona pelo proprio PHP via typecast.
 */
foreach( $csv->ler() as $linha ){
    $linha = (object) $linha;
    var_dump( $linha );
}

Concluindo

Espero que essa simples classe possa ser de alguma ajuda a quem a utilizar. Caso, necessite mais detalhes, sinta-se a vontade para acessar o site http://sooho.com.br pois contém um material mais detalhado sobre como a biblioteca foi elaborada.

Obrigado. Wanderlei Santana sans.pds@gmail.com

统计信息

  • 总下载量: 5
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 8
  • 开发语言: PHP

其他信息

  • 授权协议: (Apache-2.0 and MIT) 0857b2e48610df7180d88990d519f3868a57a815
  • 更新时间: 2021-10-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固