一个简单的CSV类,用于处理带有分隔符、包围符、转义符、字符集等的csv文件导入和导出...

dev-master 2019-03-14 09:18 UTC

This package is not auto-updated.

Last update: 2024-09-21 10:27:26 UTC


README

一个简单的通用包,可以轻松生成或导入CSV文件。

安装

只需在您的终端(项目目录)中运行此命令

composer require nathanielrich/csv:@dev

这就完成了。

导出

基本用法(下载)

$data = [
    [
        'price' => 15.99,
        'name' => 'My Product',
        'availableAt' => '2015-01-16'
    ]
];

$csvExport = new NRich\CSV\Export();
$csvExport->build($data)
    ->download();

将下载一个带有 $data 索引头的正确CSV文件。

基本用法(另存为文件)

$data = [
    [
        'price' => 15.99,
        'name' => 'My Product',
        'availableAt' => '2015-01-16'
    ]
];

$csvExport = new NRich\CSV\Export();
$csvExport->build($data)
    ->save('__PATH__TO__TARGET__FILE');

将在您的路径下创建一个带有 $data 索引头的正确CSV文件。

基本用法(获取原始数据)

$data = [
    [
        'price' => 15.99,
        'name' => 'My Product',
        'availableAt' => '2015-01-16'
    ]
];

$csvExport = new NRich\CSV\Export();
$csvExport->build($data)
    ->getRawData('__PATH__TO__TARGET__FILE');

将返回一个包含csv文件数据的字符串。

基本用法(symfony/laravel 上传文件)

$data = [
    [
        'price' => 15.99,
        'name' => 'My Product',
        'availableAt' => '2015-01-16'
    ]
];

$csvExport = new NRich\CSV\Export();
$csvExport->build($data)
    ->getSymfonyUploadedFile('__PATH__TO__TARGET__FILE');

将返回symfony http-foundation库的UploadedFile类。

非自定义索引数组的使用

$data = [
    [
        15.99,
        'My Product',
        '2015-01-16'
    ]
];

$csvExport = new NRich\CSV\Export();
$csvExport->build($data, [
    'price', 'name', 'availableAt'
])
    ->download();

Windows/Excel 默认值

在当前版本的Excel或其他基于Windows的软件解决方案中,它们期望使用 ; 而不是标准 ,

您可以在构造函数中自定义它

$data = [
    [
        15.99,
        'My Product',
        '2015-01-16'
    ]
];

$csvExport = new NRich\CSV\Export(';');
...

或者您可以选择预定义的Windows选项

$data = [
    [
        15.99,
        'My Product',
        '2015-01-16'
    ]
];

$csvExport = new NRich\CSV\Export();
$csvExport->windows()
    ->build($data)
    ->download();
...

导入

基本用法

$csvImport = new NRich\CSV\Import();
$data = $csvImport->execute('__PATH__TO__YOUR__FILE');

print_r($data);

将从您的csv文件返回一个对象数组。如果您想有一个嵌套数组而不是对象,可以将execute()的第二个参数设置为 true