laravel-excel文档翻译笔记

转自这位前辈的总结文档

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.7laravel >= 4.1PHPOffice PHPExcel >= 1.8.0php_zip(如果需要处理 .xlsx, .ods, .gnumeric 文件,需要此扩展)php_xmlphp_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 locationreturn $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 | originaltrue 和 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 = false2)仅在单次导入时,设置$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个参数为falsechunk($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-8Excel::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.phpExcel::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)导出为 CSVexport('csv');注意:还可以在配置文件内设置默认的 'enclosure' 和 'delimiter'4)导出为 PDF为了支持导出为pdf格式,composer需要安装任意一种"dompdf/dompdf": "~0.6.1""mpdf/mpdf": "~6.1""tecnick.com/tcpdf": "~6.0.0"并且配置文件中,配置 pdf.driver3>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 exportreturn $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.pathExcel::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.phpExcel::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-method14>合并列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/PHPExcel4.利用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

laravel-excel文档翻译笔记详细相关推荐

  1. php laravel导入excel,Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    @H_404_0@ 1.简介 @H_404_0@本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍 ...

  2. Laravel -- Excel 导入(import) (v2.1.0)

    原博客地址 https://www.jianshu.com/p/7287ebdc77bb Install (安装) //> composer.json 中 require中添加如下: " ...

  3. Laravel Excel实现Excel/CSV文件导入导出的功能详解(合并单元格,设置单元格样式)

    Laravel Excel实现Excel/CSV文件导入导出(合并单元格,设置单元格样式) 这篇文章主要给大家介绍了关于在Laravel中如何使用Laravel Excel实现Excel/CSV文件导 ...

  4. Python精讲Numpy基础,大牛笔记详细解释

    https://www.toutiao.com/a6664936105076326920/ 总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Pyth ...

  5. laravel excel迁移到lumen

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出  ...

  6. laravel Excel导入导出

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...

  7. matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释

    总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大.堪比Matlab啊.果然是人生苦短,我用Python.所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门等, ...

  8. php导出照片,Laravel使用 Laravel Excel文件导出图片功能

    Laracel 中可以使用Laravel Excel进行Excel或者PDF的导出,使用composer进行安装此差价,Laravel-Excel将PHPExcel进行封装. 其官方文档:http:/ ...

  9. php框架使用教程,php框架laravel excel包使用教程介绍

    Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP了,下面我们来看看larave ...

最新文章

  1. pytorch map低的增强训练
  2. python3断言_Python3断言
  3. No1_6.字符串的基本操作2_Java学习笔记
  4. 实验二 软件工程个人项目
  5. 流量造假:“蔡徐坤微博转发过亿”幕后推手星援 App 开发者一审获刑五年
  6. 以太网驱动的流程浅析(四)-以太网驱动probe流程【原创】
  7. 虚拟机桥接模式连不上网问题(非桥接网卡原因)
  8. studio3t破解
  9. 苹果logo_苹果 ARM Mac 发布会独特标志 Logo 亮相:橙色、红色、紫色和蓝色色调...
  10. 数字量化值Digital Number, 辐射亮度Radiance, 反射率Reflectance,发射率Emissive
  11. android窗口变化事件,android ViewPager滑动事件讲解
  12. 【原创】flutter之发布插件包到pub.dev离线在线两套大法
  13. IDEA社区版tomcat配置
  14. 随机算法java实现(同生日问题以及扑克牌24数问题)
  15. 万字干货!核心用户获取和运营策略
  16. GPU和cuda的区别
  17. TF卡/SD卡/U盘容量“变小”的问题
  18. 群辉 RAID1 数据恢复小记
  19. SwitchySharp怎样设置 ( proxy switch!的设置与使用方法)
  20. 包python_Python 包的发布

热门文章

  1. Win10下的Telnet
  2. AndroidIPC通信之AIDL
  3. 千亿级数字化活动市场,目睹如何引领行业?
  4. T100开发全新双档程序详细步骤
  5. 1号店关于秒杀架构的设计
  6. 16口工业级HDMI KVM切换器(MT-2116HL)
  7. matlab -- LBG训练器
  8. 支付宝称微信不安全 天弘基金为唯一货币基金
  9. BufferReader和BufferWriter的基本使用
  10. 脑补一下etu,波特率