pear/spreadsheet_excel_writer

无需COM对象即可写入Excel电子表格。支持公式、图像(BMP)以及文本和单元格的各种格式。

v0.9.7 2021-01-01 11:29 UTC

This package is auto-updated.

Last update: 2024-09-10 13:17:27 UTC


README

Build Status Latest Stable Version Coverage Status

Spreadsheet_Excel_Writer

此包是Spreadsheet_Excel_Writer,并已从svn.php.net迁移过来。

请通过PEAR bug tracker报告所有新问题。

如果此包被标记为未维护,并且您有修复方案,请提交您的pull请求,并在pear-qa邮件列表上开始讨论。

安装

Pear

要测试,运行

$ phpunit

要构建,只需

$ pear package

从头开始安装

$ pear install package.xml

升级

$ pear upgrade -f package.xml

Composer

此包支持Composer。

通过Composer安装

$ composer require pear/spreadsheet_excel_writer

安装最新开发版本

$ composer require pear/spreadsheet_excel_writer:dev-master

功能

  • 写入Excel (.XLS) 电子表格
  • 支持:字符串(具有文本和单元格的格式化)、公式、图像(BMP)

限制

库仅支持XLS写入的两种格式,也称为二进制交换文件格式(BIFF

  • BIFF5(Excel 5.0 - Excel 95)
  • BIFF8(Excel 98 - Excel 2003)

一些重要限制

有关您可在此处找到的格式和规范的说明 此处(“有用参考资料”部分)

仅当mbstring.func_overload = 0时,保证正确输出,否则,您应使用工作区mb_internal_encoding('latin1');

用法

基本用法

use Spreadsheet_Excel_Writer;


$filePath = __DIR__ . '/output/out.xls';
$xls = new Spreadsheet_Excel_Writer($filePath);

// 8 = BIFF8
$xls->setVersion(8);

$sheet = $xls->addWorksheet('info');

// only available with BIFF8
$sheet->setInputEncoding('UTF-8');

$headers = [
    'id',
    'name',
    'email',
    'code',
    'address'
];

$row = $col = 0;
foreach ($headers as $header) {
    $sheet->write($row, $col, $header);
    $col++;
}

for ($id = 1; $id < 100; $id++) {
    $data = [
        'id' => $id,
        'name' => 'Name Surname',
        'email' => 'mail@gmail.com',
        'password' => 'cfcd208495d565ef66e7dff9f98764da',
        'address' => '00000 North Tantau Avenue. Cupertino, CA 12345. (000) 1234567'
    ];
    $sheet->writeRow($id, 0, $data);
}

$xls->close();

格式用法

$xls = new Spreadsheet_Excel_Writer();

$titleFormat = $xls->addFormat(); 
$titleFormat->setFontFamily('Helvetica');
$titleFormat->setBold();
$titleFormat->setSize(10);
$titleFormat->setColor('orange'); 
$titleFormat->setBorder(1);
$titleFormat->setBottom(2);
$titleFormat->setBottomColor(44);
$titleFormat->setAlign('center');

$sheet = $xls->addWorksheet('info'); 

$sheet->write(0, 0, 'Text 123', $titleFormat);

标题用法(发送HTTP头以用于下载对话框)

$xls = new Spreadsheet_Excel_Writer();
$xls->send('excel_'.date("Y-m-d__H:i:s").'.xls');

性能

平台
Intel(R) Core(TM) i5-4670 CPU @ 3.40GHz
PHP 7.4

测试案例
写入xls(BIFF8格式,UTF-8),每行5个单元格(1个数字,4个无格式/样式的字符串,平均行长度=120个字符)

预计性能

替代方案