parkejunior/spreadsheetmr

多格式电子表格读取器

0.1.0 2021-01-12 18:02 UTC

This package is auto-updated.

Last update: 2024-09-16 17:59:50 UTC


README

SpreadSheetMR 是一个简单的多格式电子表格读取器。

  • 读取 XLSX、XLS、CSV 或 TXT 文件
  • 合并表头和数据
  • 忽略行或列

此库使用 shuchkin/SimpleXLSshuchkin/SimpleXLSX 读取 Excel 文件。

安装

首先,您需要安装 Composer。然后,运行以下命令

$ composer install parkejunior/spreadsheetmr

使用方法

基本用法

以下是使用此库的基本示例

use SpreadSheetMR\SpreadSheetMR;

$path_to_file = "file.csv";
$file_extension = ".csv"; // or only "csv"
$import = new SpreadSheetMR($path_to_file, $file_extension);
$data = $import->getObject();

var_dump($data);

getObject 方法以 stdClass 格式获取数据。请注意,文件扩展名作为单独的属性从文件路径中传递,因为路径可以是临时的,例如超级全局变量 $_FILES['file']['tmp_name']

验证表头和限制

您可以使用 verifyFile() 方法通过传递包含一些设置的数组来实现。示例

...

$import->verifyFile(array(
	"first_title" => "name", // check if first title on header is "name"
	"last_title" => "phone", // check if last title on header is "phone"
	"total_columns" => 4  // check if total columns on header is 4
));
$data = $import->getObject();

var_dump($data);

忽略行和列

您也可以通过使用 ignoreRow()ignoreColumn() 方法并传递索引偏移量作为参数来忽略列或行。示例

...

$import->ignoreRow(3); // ignore 4th row
$import->ignoreColumn(0); // ignore first column
$data = $import->getObject();

var_dump($data);

定义哪一行是表头

您可以通过将行的索引偏移量传递给 headerIndex 属性来定义哪一行是表头。请注意,当定义表头时,getObject () 方法返回一个将表头作为关联到每行数据的 stdClass。示例

...

$import->headerIndex = 0; // define first row as header
$data = $import->getObject();

var_dump($data);

贡献

如果您发现任何不正确的英语语法或对改进此库的建议,我将非常感激。