onurb/excel-bundle

Symfony Bundle用于读取或写入Excel文件(包括pdf, xlsx, odt),使用phpoffice/phpspreadsheet库(phpoffice/phpexcel的替代品,已弃用)

安装次数: 315,988

依赖项: 0

建议者: 0

安全性: 0

星标: 13

关注者: 1

分支: 9

开放问题: 2

类型:symfony-bundle

1.0.2 2019-06-24 20:41 UTC

This package is not auto-updated.

Last update: 2024-09-24 05:25:01 UTC


README

Build Status Scrutinizer Code Quality Code Coverage License Latest Stable Version Total Downloads

安装

1 将以下内容添加到 composer.json 中的 require

    composer require onurb/excel-bundle

或手动在 composer.json 中添加

    ...,
    "require": {
            ...,
            "onurb/excel-bundle":     "~1.0"
        },
    ...

2 Symfony 3 : 在 app/AppKernel.php 中注册该bundle

    $bundles = array(
        // ...
        new \Onurb\Bundle\ExcelBundle\OnurbExcelBundle(),
    );

Symfony 4 : 使用 symfony flex,bundle 应已自动注册

   // config/bundles.php
    return [
        // ...
        Onurb\Bundle\ExcelBundle\OnurbExcelBundle::class => ['all' => true],
    ];

用法

创建工作表

$spreadsheet = $this->get('phpspreadsheet')->createSpreadsheet();

从现有文件创建工作表

$spreadsheet = $this->get('phpspreadsheet')->createSpreadsheet('file.xlsx');

根据对象创建Excel5并将其写入文件

$writer = $this->get('phpspreadsheet')->createWriter($spreadsheet, 'Xls');
$writer->save('file.xls');

创建Excel 2007并创建StreamedResponse

$writer = $this->get('phpspreadsheet')->createWriter($spreadsheet, 'Xlsx');
$response = $this->get('phpspreadsheet')->createStreamedResponse($writer);

创建包含图片的Excel文件

$writer = $this->get('phpspreadsheet')->createSpreadSheet();
$writer->setActiveSheetIndex(0);
$activesheet = $writer->getActiveSheet();
$drawingobject = $this->get('phpspreadsheet')->createSpreadsheetWorksheetDrawing();
$drawingobject->setPath('/path/to/image')
    ->setName('Image name')
    ->setDescription('Image description')
    ->setHeight(60)
    ->setOffsetY(20)
    ->setCoordinates('A1')
    ->setWorksheet($activesheet);

创建读取器

$reader = $this->get('phpspreadsheet')->createReader('Xlsx');

支持的文件类型

类型区分大小写。支持的类型有

  • Xlsx: Excel 2007
  • Xls: Excel 5
  • Xml: Excel 2003 XML
  • Slk: 符号链接 (SYLK)
  • Ods: Libre Office (ODS)
  • Csv: CSV
  • Html: HTML

可选库可用于写入

  • Tcpdf
  • Mpdf
  • Dompdf

要安装这些库

composer require tecnick.com/tcpdf
composer require mpdf/mpdf
composer require dompdf/dompdf

liuggio/Excelbundle可移植性

对于已经使用 liuggio/ExcelBundle 并希望迁移到 phpspreadsheet 的用户,该bundle应直接兼容:保留了旧phpexcel文件类型,添加了兼容性工厂,并重新声明了phpexcel服务。

更多信息

还可以查看官方PhpSpreadsheet文档