Laravel maatwebsite/Excel 2.1 文档翻译笔记

Laravel tytrock ⋅ 于 2018-08-09 15:47:22 ⋅ 7354 阅读

1.安装

1>composer 安装

 "maatwebsite/excel": "~2.1.0"

2>app/config/app.php,添加服务

Maatwebsite\Excel\ExcelServiceProvider::class

  设置Facade:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

  这样,就将 'excel' 绑定到了laravel的ioc容器

  $excel = App::make('excel');

3>生成配置文件

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

  将会在 'app/config/' 添加 'excel.php' 文件

4>依赖

php > 5.3.7

laravel >= 4.1

PHPOffice PHPExcel >= 1.8.0

php_zip(如果需要处理 .xlsx, .ods, .gnumeric 文件,需要此扩展)

php_xml

php_gd2(如果需要精确的自动计算列宽,需要此扩展)

 

2.导入

1>导入文件

Excel::load('file.xls');

Excel::load('file.xls', function($reader){

 

})

回调函数可选

 

2>ExcelFile injections(注入)

应该是参照Laravel5.0的FormRequest注入,Excel提供了ExcelFile注入

1)ExcelFile类

class UserListImport extends \Maatwebsite\Excel\Files\ExcelFile 

{

    public function getFile()

    {

        return storage_path('exports') . '/file.csv';

    }

 

    public function getFilters()

    {

        return [

            'chunk'

        ];

    }

}

getFile() - 返回要导入的excel的文件名及路径。

getFilters() - 可以启用各种 'filter'(过滤器)

getFile()如果想动态获取用户上传的文件,可以参考下方:

public function getFile()

{

    // Import a user provided file

    $file = Input::file('report');// 文件上传

    $filename = $this->doSomethingLikeUpload($file);// 执行上传,得到上传后路径

 

    // Return it's location

    return $filename;// 返回上传后路径

}

 

2)使用

定义好了ExcelFile注入类,可以注入到 构造方法或其他方法

Class TestController extends Controller()

{

 

// 从这里就很明显知道是个什么意思了

// public function __construct(Request $request)

// 我们经常使用Request请求

public function __construct(UserListImport $import)

{

// 获取结果

$results = $import->get();

}

}

3)CSV配置

可以定义一些可选的CSV设置项,用类的 'protected' 属性来定义

    protected $delimiter  = ',';

    protected $enclosure  = '"';

    protected $lineEnding = '\r\n';

4)导入处理

为了完全将Excel导入代码与控制器解耦,可以使用导入处理

    public function importUserList(UserListImport $import)

    {

        $import->handleImport();// 导入处理

    }

    上面的 'handleImport()' 方法,将会动态调用一个 '类名'.'Handler' 的处理类(以我们定义的 'UserListImport' 为例,就应该是 'UserListImportHandler'),所以我们还得定义 '处理类'

    class UserListImportHandler implements \Maatwebsite\Excel\Files\ImportHandler {

 

    public function handle(UserListImport $import)

    {

        // 获取结果

        $results = $import->get();

    }

}

提示:

就是将处理结果的方法,又抽离到另一个类中(算是公共方法,而不是仅这个控制器可用)

 

3>处理导入结果

1)获取所有工作表和每个工作表内的所有行

2种处理方式,都可以:

1.Excel::load('file.xls', function($reader){})->get();

2.Excel::load('file.xls', function($reader){

// 获取所有结果

$results = $reader->get();

// all()方法,是对 get()方法的一个包装,工作一致

$results = $reader->all();

});

get()和all(),会返回一个 '工作表集合' 或者 '单个工作表内所有行的集合'(发现只有1张工作表时)

提示:

我们可以通过配置:excel.php -> force_sheets_collection = true,强制,即使单个表,也返回 '工作表集合'

2)表标题

默认,工作表的第一行为表标题

$row->firstname;

注意:

默认情况下,这些属性会被转换为 'slug'。可以通过配置import.heading来改变默认行为。可选值有:

true | false | slugged | ascii | numberic | hashed | trans | original

true 和 slugged 也会被转换为 'ascii',等同于设置了 'ascii'

3)集合

工作表(sheets)、行(rows)、单元格(cells)都是集合,只要是通过 'get()' 方法获取后,我们都可以调用 'laravel' 的集合方法

$reader->get()->groupBy();

4)获取第一张工作表 或 第一行

$reader->first();

注意:

上面也提到了 'force_sheets_collection' 配置,根据这一配置,excel只有单个工作表时,这个获取的可能是 '第一张工作表' 或 '第一行'

5)工作簿(excel文件)和工作表(sheets)标题

$reader->getTitle();// excel文件名

foreach($reader as $sheet)

{

$sheetTitle = $sheet->getTitle();// 工作表名

}

6)限制文件读取

1.获取行

$reader->takeRows(10);

$reader->limitRows(10);

2.跳过行(偏移)

$reader->skipRows(10);// 跳过10行

$reader->limitRows(false, 10);// 跳过10行,但不进行行限制,读取剩余所有行

$reader->skipRows(10)->takeRows(10);// 跳过10行,并读取10行

3.获取列

$reader->takeColumns(10);

$reader->limitColumns(10);

4.跳过列(偏移)

$reader->skipColumns(10);// 跳过10列

$reader->limitColumns(false, 10);// 跳过10列,但不进行列限制,读取剩余所有列

$reader->skipColumns(10)->takeColumns(10);// 跳过10列,并读取10列

7)结果转换

默认获取的是一个集合

1)转换为数组

$reader->toArray();

2)转换为对象

$reader->toObject();

8)打印结果

$reader->dump();// 打印结果

$reader->dd();// 打印结果,并退出

9)迭代结果

$reader->each(function($sheet){// 循环所有工作表

$sheet->each(function($row){// 循环单个工作表,所有行

 

});

});

提示:

也可使用 foreach() 来循环结果集

4>选择工作表和列

1)选择指定的工作表

Excel::selectSheets('sheet1')->load();

2)选择多个工作表

Excel::selectSheets('sheet1', 'sheet2')->load();// 也可以传递一个数组 ['sheet1', 'sheet2']

3)通过下标选择工作表(index 从 0 开始)

Excel::selectSheetsByIndex(0)->load();

Excel::selectSheetsByIndex(0, 1)->load();

4)选择列

1.$reader->select(['firstname', 'lastname'])->get();

2.$reader->get(['firstname', 'lastname']);

注意:

所有的获取结果方法(例如:all(), first(), dump(), toArray(), ...),都接收一个 '列数组' 参数

5>日期

默认情况下,日期将被解析为一个 'Carbon' 对象(这个可以了解下,是composer的一个日期处理包).

可配置 dates.enabled = false,禁用日期格式(对整个项目生效)

1)单个导入,开启/禁用日期格式化,使用 '->formatDates($boolean, $format)'

$reader->formatDates(true);// 启用

$reader->formatDates(false);// 禁用

$reader->formatDates(true, 'Y-m-d');// 启用,并设置日期格式

2)日期格式

默认,日期并未格式化,但是返回一个 'Carbon' 对象,我们有2种方式,来格式化日期:

1.先用过 'get()' 等方法获取结果后,再格式化

$rows->each(function($row){

$created_at = $row->created_at->format('Y-m-d');// 获取到的$row->created_at,已经是一个 'Carbon' 对象

});

2.设置一个默认的日期格式

1>在 excel.php 配置文件中,设置日期格式,则不会再返回 'Carbon' 对象

2>或者,我们仅在本次导入设置日期格式,$reader->setDateFormat('Y-m-d');

3)设置自定义日期列

不是Excel格式日期的单元格不会被解析为日期。我们可以设置哪些字段,来手动格式化为日期格式。

$reader->setDateColumns(['created_at', 'updated_at'])->get();

6>计算公式

默认情况下,文件内的公式会被计算,并返回结果。

可配置 import.calculate 来改变默认行为。

1)import.calculate = false

2)仅在单次导入时,设置

$reader->calculate([fals]);// 禁用

$reader->calculate(true);// 启用

7>自定义单元格值(例如:统一添加前缀,替换敏感词为 '*'等,处理单元格的值)

看文档

8>缓存和单元格缓存

1)单元格缓存

在 excel.php 中,配置 '单元格缓存'。默认开启缓存,并使用 '内存缓存'

2)缓存excel文件结果集

记录结果集,可使用 remember($minutes) 方法。下次载入同样文件时(如果它还在缓存中),将返回缓存的结果

$results = $reader->remember(10)->get();// 缓存10分钟

9>分块导入

1)当导入大文件时,最好的解决方法是 '分块导入'。可通过 filter('chunk') 来开启;并且使用 'chunk($size, $callback)' 来代替 'get()' 获取结果集。

Excel::filter('chunk')->load('file.csv')->chunk(250, function($results)

{

// 处理结果集

        foreach($results as $row){

        }

});

 

2)ExcelFile 注入实例:

class UserListImport extends \Maatwebsite\Excel\Files\ExcelFile 

{

    public function getFile()

    {

        return storage_path('exports') . '/file.csv';

    }

 

    public function getFilters()

    {

        return [

            'chunk'// 使用 'chunk' 过滤器

        ];

    }

}

 

public function importUserList(UserListImport $import) // 注入 ExcelFile

{

    $import->chunk(250, function($results)

    {

    });

}

3)分块导入,队列

如果我们在配置文件中,启用了队列驱动,会自动将每个分块放入队列

如果不想使用该功能,设置第3个参数为false

chunk($size, $callback, false)

如果想使用 '非默认工作队列',设置第3个参数为 '指定的工作队列名'

chunk($size, $callback, $shouldQueue)

10>批量导入

1)导入目录下的所有文件,仅 '.xls, .xlsx, .csv' 后缀的文件

Excel::batch('app/storage/uploads', function($row, $file){

// 处理目录下的导入文件的每一行

$rows->each(function($row){

dd($row->firstname);

});

});

2)导入多个文件

$files = ['1.xls', '2.xls'];

Excel::batch($files, function($row, $file){

 

})

3)导入目录|多个文件,每个文件包含多个工作表

Excel::batch('app/storage/uploads', function($sheets, $file){

$sheets->each(function($sheet){

 

});

});

11>设置导入配置

当使用高级Excel文件(例如:没有任何标题列)时,导入这些文件可能很复杂。使用 byConfig() 来处理这类问题

关联 excel.php 配置文件的 import.sheets 配置

Excel::load('file.xls')->byConfig('excel::import.sheets', function($sheet){

// 获取excel.php的import.sheets配置项的 'firstname' 配置

$firstname = $sheet->firstname;

});

注意:

如果正在使用多张工作表,byConfig() 将会作用于每张表。如果只存在于一张表中,可以使用 'selectSheets()' 来选取指定的工作表

13>编辑现有的文件

通过加载现有的Excel文件,修改后再导出,来编辑现有的文件。

Excel::load('file.csv', function($file){

// 修改

})->export('csv');

14>转换

通过 'convert()' 转换文件类型

Excel::load('file.csv', function($file){

// 修改

})->convert('xls');

15>其他

1)禁止使用第一行作为集合属性

默认情况下,我们将使用文件的第一行作为表标题(也作为集合的属性名)。

可以修改 excel.php 的配置项 import.heading,来改变默认行为。

$reader->noHeading();// 仅在本次改变默认行为

2)设置单元格名字分隔符

默认情况下,集合属性名为第一行。空格将被转换为 '_'。例如:Created at --> created_at

可以修改 excel.php 的配置项 import.separator,来改变默认行为。

$reader->setSeparator('-'');// 仅在本次改变默认行为

3)忽略空单元

默认空单元不会被忽略,在单元格集合中显示为null

可以修改 excel.php 的配置项 import.ignoreEmpty,来改变默认行为。

$reader->ignoreEmpty();// 仅在本次改变默认行为

4)输入编码

默认是 UTF-8

Excel::load('1.csv', function($reader){// 使用闭包

 

}, 'UTF-8');

Excel::load('1.csv', 'UTF-8');// 不使用闭包

5)CSV设置

查看 excel.php csv等配置

 

 

3.导出

1>简单的Excel导出

1)基本

Excel::create('文件名');

Excel::create('文件名', function($excel){// 使用闭包

// 调用 写方法

});

2)改变属性

可以在闭包内,改变一些属性。它们中的大多数是默认设置。可查看默认配置:

app/config/packages/maatwebsite/excel/config.php

Excel::create('文件名', function($excel){// LaravelExcelWriter

$excel->setTitle('聘学兼优会员表');// 设置标题

$excel->setCreator('xxx')

  ->setCompany('yyy');// 链式调用

$excel->setDescription('描述');// 单个调用,设置描述

});

2>导出

下载创建的excel文件,使用 'export($ext)' 或 'download($ext)'

1)导出为 Excel5(xls)

Excel::create('文件名', function($excel){

 

})->export('xls');// 或 ->download('xls');

2)导出为 Excel2007(xlsx)

export('xlsx');

3)导出为 CSV

export('csv');

注意:

还可以在配置文件内设置默认的 'enclosure' 和 'delimiter'

4)导出为 PDF

为了支持导出为pdf格式,composer需要安装任意一种

"dompdf/dompdf": "~0.6.1"

"mpdf/mpdf": "~6.1"

"tecnick.com/tcpdf": "~6.0.0"

并且配置文件中,配置 pdf.driver

3>NewExcelFile injections(注入)

1)NewExcelFile 类

class UserListExport extends \Maatwebsite\Excel\Files\NewExcelFile {

    public function getFilename()

    {

        return 'filename';// 定义想要的文件名

    }

}

2)使用

定义好了NewExcelFile注入类,可以注入到 构造方法或其他方法

class ExampleController extends Controller {

    public function exportUserList(UserListExport $export)// 注入

    {

        // work on the export

        return $export->sheet('sheetName', function($sheet)

        {

 

        })->export('xls');

    }

}

3)导出处理

为了完全将Excel导出代码与控制器解耦,可以使用导出处理

class ExampleController extends Controller {

    public function exportUserList(UserListExport $export)

    {

        // 处理导出

        $export->handleExport();

    }

}

    上面的 'handleExport()' 方法,将会动态调用一个 '类名'.'Handler' 的处理类(以我们定义的 'exportUserList' 为例,就应该是 'exportUserListHandler'),所以我们还得定义 '处理类'

    class exportUserListHandler implements \Maatwebsite\Excel\Files\ExportHandler {

 

    public function handle(UserListExport $export)

    {

    return $export->sheet('表单名', function($sheet){

 

    })->export('xls');

    }

}

4>存储到服务器

将创建的excel文件,保存到服务器,使用 'store($ext, $path = false, $returnInfo = false)' 或 'save()'

1)导出到默认路径,默认是 'storage/exports' 目录。可修改 excel.php 的 export.store.path

Excel::create('文件名', function($excel){

 

})->store('xls');

2)导出到指定路径

->store('xls', storage_path('excel/exports'));

3)存储并导出

->store('xls')->export('xls');

4)存储并返回存储信息

->store('xls', false, true);// 设置第3个参数为 true

也可在 excel.php 设置 export.store.returnInfo,进行全局默认配置

返回的信息有:

full -  文件全路径

path - 路径,不含文件名

file - 文件名

title - 文件标题

ext - 文件后缀

注意:

确保目录有写权限!

5>工作表

1)创建一个工作表

Excel::create('文件名', function($excel){

$excel->sheet('工作表名', function($sheet){

 

});

})->export('xls');

2)创建多个工作表

Excel::create('文件名', function($excel){

$excel->sheet('表1', function($sheet){

 

});

$excel->sheet('表2', function($sheet){

 

});

})->export('xls');

3)改变属性

可以在闭包内,改变一些属性。它们中的大多数是默认设置。可查看默认配置:

app/config/packages/maatwebsite/excel/config.php

Excel::create('文件名', function($excel){

$excel->sheet('工作表名', function($sheet){

$sheet->setOrientation('landscape');// 设置横向属性

});

})->export('xls');

4)默认页边距

excel.php 设置 export.sheets.page_margin 来设置页边距,可选值有:false | 单个值 | 数组

也可使用 setPageMargin(),仅在本次导出设置

$sheet->setPageMargin([0.25, 0.30, 0.25, 0.30]);// 上、右、下、左

$sheet->setPageMargin(0.25);

5)设置工作表密码

// 默认保护

$sheet->protect('密码');

// 高级保护

$sheet->protect('密码', function(\PHPExcel_Worksheet_Protection $protection){

$protection->setSort(true);

});

6>从数组中创建工作表

1)数组

1.使用 fromArray()

Excel::create('Filename', function($excel) {

    $excel->sheet('Sheetname', function($sheet) {

        $sheet->fromArray(array(

            array('data1', 'data2'),

            array('data3', 'data4')

        ));

    });

})->export('xls');

2.也可使用 with() 替代 fromArray()

$sheet->with();

3.在closure(闭包)内,调用,使用 'use()'

$data = [

['xxx', 'yyy'],

['111', '222'],

];

 

/*

注意:

闭包想要使用外部的变量,必须使用 'use()' 来引入

*/

 

Excel::create('Filename', function($excel) use($data){

    $excel->sheet('Sheetname', function($sheet) use($data){

    $sheet->fromArray($data);

    });

})->export('xls');

2)空比较

默认情况下,0显示为空单元格。设置第4个参数为true,来改变默认行为

全局修改:export.sheets.strictNullComparison

单次修改:$sheet->fromArray($data, null, 'A1', true);// 0显示0,而非空

3)Eloquent模型

使用 fromModel($model)

4)自动生成标题

默认情况下,导出将使用数组的键(或模型属性名)作为第一行(标题列)

全局修改:excel.php 的export.generate_heading_by_indices

单次修改:$sheet->fromArray($data, null, 'A1', false, false);// 设置第5个参数

7>行操作

1)操作单个行

1.改变单元格值

$sheet->row(1, ['11', '22']);// 操作第一行

$sheet->row(2, ['33', '44']);// 操作第二行

2.操作行单元格样式

$sheet->row(1, function($row){

$row->setBackground('#000');// 设置单元格北京

});

2)追加行

$sheet->appendRow(2, [55, 66]);// 第二行后,追加新行

$sheet->appendRow([55, 66]);// 追加新行到最后一行

3)前追加行

$sheet->prependRow(2, [55, 66]);// 第二行前,追加新行

$sheet->prependRow([55, 66]);// 追加新行到第一行

4)追加多行

$sheet->rows([

[77, 88],

[99, 1010],

]);

8>单元格操作

1)设置单元格的值

$sheet->cell('A1', function($cell){

$cell->setValue('1111');

});

$sheet->cell('A1:A5', function($cells){

// 设置该范围内单元格

});

2)设置单元格背景

$cells->setBackground('#000');

3)设置单元格字体

$cells->setFontColor('#fff');// 颜色

$cells->setFontFamily('Calibri');// 字体

$cells->setFontSize(16);// 大小

$cells->setFontWeight('bold');// 粗体

$cells->setFont([// 一次性设置

'family' => 'Calibri',

'size' => 16,

'bold' => true,

]);

4)设置边框,上、右、下、左

$cells->setBorder('solid', 'none', 'none', 'solid');

$cells->setBorder([

'top' => [

'style' => 'solid',

],

]);

5)设置水平居中

$cells->setAligment('center');

6)设置垂直居中

$cells->setValigment('center');

9>工作表样式

1)一般样式

$sheet->setStyle([

'font' => [

'name' => 'Calibri',

'size' => 15,

'bold' => true,

];

]);

2)字体

1.批量设置

$sheet->setFont([

'name' => 'Calibri',

'size' => 15,

'bold' => true,

]);

2.分开设置

$sheet->setFontFamily('Calibri');

$sheet->setFontSize(15);

$sheet->setFontBold(true);

3)边框

1.设置所有边框

$sheet->setAllBorders('thin');

2.设置某个单元格的边框

$sheet->setBorder('A1', 'thin');

3.设置某个范围内单元格的边框

$sheet->setBorder('A1:F10', 'thin');

注意:

参考文档,查看可用的边框样式

10>冻结行、列、单元格

$sheet->freezeFirstRow();// 冻结第一行

$sheet->freezeFirstColumn();// 冻结第一列

$sheet->freezeFirstRowAndColumn();// 冻结第一行和第一列

$sheet->setFreeze('A2');// 冻结A2单元格

11>自动过滤器

开启自动过滤器,使用 setAutoFilter($range = false)

$sheet->setAutoFilter();// 作用整张工作表

$sheet->setAutoFilter('A1:E10');// 作用某个范围的单元格

12>单元格尺寸

1)设置列宽

$sheet->setWidth('A', 5);// 设置单个列

$sheet->setWidth([// 设置多个列

'A' => 5,

'B' => 10,

]);

2)设置行高

$sheet->setHeight(1, 50);// 设置单个行

$sheet->setHeight([// 设置多个行

1 => 50,

2 => 25,

]);

3)设置单元格尺寸

$sheet->stSize('A1', 500, 50);// 设置单个单元格

$sheet->setHeight([// 设置多个单元格

'A1 => [

'width' => 50,

'height' => 500,

],

'B2' => [

'width' => 20,

'height' => 200,

],

]);

13>自动调整大小

默认情况下导出的文件自动调整大小。若要更改此行为,可以更改配置 或 使用设置程序

$sheet->setAutoSize(true);// 启用

$sheet->setAutoSize(false);// 禁用

$sheet->setAutoSize([// 禁用 'A、C' 列

'A', 'C'

]);

全部配置:excel.php 的 autosize 和 autosize-method

14>合并列

1)合并某个范围的单元格

$sheet->mergeCells('A1:E1');

2)合并行和列

$sheet->setMergeColumn([

'columns' => ['A', 'B', 'C', 'D'],

'rows' => [

[2, 3],

[4, 5],

],

]);

15>列格式化

可以使用 'setColumnFormat($array)',告诉Excel应该如何解释某些列

$sheet->setColumnFormat([// 百分比展示

'C' => '0%'

]);

$sheet->setColumnFormat([// 前导0展示

'A2:K2' => '0000'

]);

$sheet->setColumnFormat([// 其他格式展示

    'B' => '0',

    'D' => '0.00',

    'F' => '@',

    'F' => 'yyyy-mm-dd',

]);

注意:

参考文档,查看可用的格式

16>调用 PHPExcel 的原生方法

可以在 $excel 和 $sheet 对象上,调用 'PHPExcel' 的原生方法

1)调用 'excel文件' 方法

$excel->getDefaultStyle();

2)调用 '工作表' 方法

$sheet->protectCells('A1', $password);

可以到 PHPOffice 获取等多原生方法

https://github.com/PHPOffice/PHPExcel

 

 

4.利用laravel的 blade 模板引擎,来进行Excel导出,每个工作表加载一个视图,在视图中创建一个HTML表格,设置基本的样式。意思就是:我们写一个表格的模板,然后将这个模板直接载入到Excel进行处理

1>一个工作表,加载一个视图

Excel::create('文件名', function($excel) {

    $excel->sheet('工作表名', function($sheet) {

        $sheet->loadView('folder.view');// 载入视图

    });

});

2>不同的工作表,使用不同视图

Excel::create('文件名', function($excel) {

    $excel->sheet('工作表1', function($sheet) {

        $sheet->loadView('view1');// 载入视图

    });

    $excel->sheet('工作表2', function($sheet) {

        $sheet->loadView('view2');// 载入视图

    });

});

3>所有工作表,共享一个视图

Excel::shareView('view')->create();

4>当我们使用共享视图时,在当前工作表中,不想使用视图,使用 'unsetView()' 来取消

$sheet->unsetView();

5>给视图传参

1)作为第二个参数传递

$view_data = [

'name' => 'dongxuemin',

'age' => 30,

];

$sheet->loadView('view', $view_data);

2)使用 with() 方法

$sheet->loadView('view')->with('name', 'dongxuemin')

->with('age', 30);

3)使用 '动态with()' 方法

$sheet->loadView('view')->withName('dongxuemin')

->withAge(30);

强调!!!

这其实就是laravel模板传参的3种方法!

6>设置工作表样式

1)参照excel导出的设置样式的方法

2)使用PHPExcel设置样式的方法

$sheet->getStyle('A1')->applyFromArray([

'fill' => [

'type' => PHPExcel_Style_Fill::FILL_SOLID,

'color' => ['rgb' => 'FF0000'],

],

]);

3)使用HTML标签

laravel-excel 扩展,定义了很多html标签的解析,以及标签的默认样式,我们可以在配置文件中修改

excel.php 的 views.styles 配置项

4)使用HTML属性,支持一些基本属性

<html>

    <!-- 水平对齐 -->

    <td align="right">Big title</td>

 

    <!-- 垂直对齐 -->

    <td valign="middle">Bold cell</td>

 

    <!-- 行跨度 -->

    <td rowspan="3">Bold cell</td>

 

    <!-- 列跨度 -->

    <td colspan="6">Italic cell</td>

 

    <!-- 宽 -->

    <td width="100">Cell with width of 100</td>

 

    <!-- 高 -->

    <td height="100">Cell with height of 100</td>

</html>

5)使用内联样式

<td style="background-color: #000">Cell</td>

6)使用外部样式表

excel.css:

.cell {

color: #fff;

}

tr td {

color: #f00;

}

view:

<html>

{{ HTML::style('excel.css') }}// 引入外部css文件

<tr>

<td class="cell">Cell</td>

</tr>

</html>

注意:

建议<head>包含 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">,解决编码问题

 

 

 

5.参考指南

可用的文件属性

可用的工作表属性

可用的CSS样式

可用的边框样式

可用的列格式

闭包

http://www.maatwebsite.nl/laravel-excel/docs/reference-guide


回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter