当前位置: 首页 > news >正文

小白建设论坛网站设计摄影作品

小白建设论坛网站,设计摄影作品,关键词挖掘方法,镇江关键字优化品牌PhpSpreadsheet是一个纯PHP编写的组件库#xff0c;它使用现代PHP写法#xff0c;代码质量和性能比PHPExcel高不少#xff0c;完全可以替代PHPExcel#xff08;PHPExcel已不再维护#xff09;。使用PhpSpreadsheet可以轻松读取和写入Excel文档#xff0c;支持Excel的所有…PhpSpreadsheet是一个纯PHP编写的组件库它使用现代PHP写法代码质量和性能比PHPExcel高不少完全可以替代PHPExcelPHPExcel已不再维护。使用PhpSpreadsheet可以轻松读取和写入Excel文档支持Excel的所有操作。 1. 初识PhpSpreadsheet 软件依赖 要使用PhpSpreadsheet需要满足以下条件 PHP5.6或更改版本推荐PHP7 支持php_zip扩展 支持php_xml扩展 支持php_gd2扩展安装 现在开始创建项目目录/PHPExcel进入项目目录。 使用composer安装 composer require phpoffice/phpspreadsheet 使用 在项目目录下新建/public目录在public目录下创建示例文件test.php编辑test.php用以下代码。 ?phprequire ../vendor/autoload.php;use PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSpreadsheet\Writer\Xlsx;$spreadsheet new Spreadsheet();$sheet $spreadsheet-getActiveSheet();$sheet-setCellValue(A1, Welcome to Helloweba.);$writer new Xlsx($spreadsheet);$writer-save(hello.xlsx);运行代码你会发现在目录下生成一个hello.xlsx文件打开Excel文件你会看到Excel中的单元格A1中有“Welcome to Helloweba.”内容。当然你可以对单元格样式诸如颜色、背景、宽度、字体等等进行设置这些会在接下来的几节中讲到。 PhpSpreadsheet特性 支持读取.xls.xlsx.html.csv等格式文件支持写入导出.xls.xlsx.html.csv.pdf格式文件。 提供丰富的API提供单元格样式设置、Excel表格属性设置、图表设置等等诸多功能。使用PhpSpreadsheet完全可以生成一个外观结构都满足你的Excel表格文件。 卓越的性能尤其在PHP7上表现优异比PHPExcel强大很多。2. 使用PhpSpreadsheet将Excel导入到MySQL数据库 导入Excel 思路使用PhpSpreadsheet读取Excel表格中的有用信息然后组装成sql语句最后批量插入到MySQL表中。 require vendor/autoload.php;include(conn.php); //连接数据库$reader \PhpOffice\PhpSpreadsheet\IOFactory::createReader(Xlsx);$reader-setReadDataOnly(TRUE);$spreadsheet $reader-load(students.xlsx); //载入excel表格$worksheet $spreadsheet-getActiveSheet();$highestRow $worksheet-getHighestRow(); // 总行数$highestColumn $worksheet-getHighestColumn(); // 总列数$highestColumnIndex \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn); // e.g. 5$lines $highestRow - 2;if ($lines 0) {exit(Excel表格中没有数据);}$sql INSERT INTO t_student (name, chinese, maths, english) VALUES ;for ($row 3; $row $highestRow; $row) {$name $worksheet-getCellByColumnAndRow(1, $row)-getValue(); //姓名$chinese $worksheet-getCellByColumnAndRow(2, $row)-getValue(); //语文$maths $worksheet-getCellByColumnAndRow(3, $row)-getValue(); //数学$english $worksheet-getCellByColumnAndRow(4, $row)-getValue(); //外语$sql . ($name,$chinese,$maths,$english),;}$sql rtrim($sql, ,); //去掉最后一个,号try {$db-query($sql);echo OK;} catch (Exception $e) {echo $e-getMessage();}3. 使用PhpSpreadsheet将数据导出为Excel文件 一、设置表头 首先我们引入自动加载PhpSpreadsheet库然后实例化设置工作表标题名称为学生成绩表接着设置表头内容。表头分为两行第一行是表格的名称第二行数表格列名称。最后我们将第一行单元格进行合并并设置表头内容样式字体、对齐方式等。 require vendor/autoload.php;use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx;include(conn.php); //连接数据库$spreadsheet new Spreadsheet(); $worksheet $spreadsheet-getActiveSheet(); //设置工作表标题名称 $worksheet-setTitle(学生成绩表);//表头 //设置单元格内容 $worksheet-setCellValueByColumnAndRow(1, 1, 学生成绩表); $worksheet-setCellValueByColumnAndRow(1, 2, 姓名); $worksheet-setCellValueByColumnAndRow(2, 2, 语文); $worksheet-setCellValueByColumnAndRow(3, 2, 数学); $worksheet-setCellValueByColumnAndRow(4, 2, 外语); $worksheet-setCellValueByColumnAndRow(5, 2, 总分);//合并单元格 $worksheet-mergeCells(A1:E1);$styleArray [font [bold true],alignment [horizontal \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,], ]; //设置单元格样式 $worksheet-getStyle(A1)-applyFromArray($styleArray)-getFont()-setSize(28);$worksheet-getStyle(A2:E2)-applyFromArray($styleArray)-getFont()-setSize(14);二、读取数据 我们连接数据库后直接读取学生成绩表t_student然后for循环设置每个单元格对应的内容计算总成绩。注意的是表格中的数据是从第3行开始因为第12行是表头占用了。 然后我们设置整个表格样式给表格加上边框并且居中对齐。 $sql SELECT id,name,chinese,maths,english FROM t_student;$stmt $db-query($sql);$rows $stmt-fetchAll(PDO::FETCH_ASSOC);$len count($rows);$j 0;for ($i0; $i $len; $i) {$j $i 3; //从表格第3行开始$worksheet-setCellValueByColumnAndRow(1, $j, $rows[$i][name]);$worksheet-setCellValueByColumnAndRow(2, $j, $rows[$i][chinese]);$worksheet-setCellValueByColumnAndRow(3, $j, $rows[$i][maths]);$worksheet-setCellValueByColumnAndRow(4, $j, $rows[$i][english]);$worksheet-setCellValueByColumnAndRow(5, $j, $rows[$i][chinese] $rows[$i][maths] $rows[$i][english]);}$styleArrayBody [borders [allBorders [borderStyle \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,color [argb 666666],],],alignment [horizontal \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,],];$total_rows $len 2;//添加所有边框/居中$worksheet-getStyle(A1:E.$total_rows)-applyFromArray($styleArrayBody);三、下载保存 强制浏览器下载数据并保存为Excel文件 $filename 成绩表.xlsx; header(Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet); header(Content-Disposition: attachment;filename.$filename.); header(Cache-Control: max-age0);$writer \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, Xlsx); $writer-save(php://output);如想要保存为.xls文件格式的话可以改下header代码 $filename 成绩表.xlsx; header(Content-Type: application/vnd.ms-excel); header(Content-Disposition: attachment;filename.$filename.); header(Cache-Control: max-age0);$writer \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, xls); $writer-save(php://output);4. 详解PhpSpreadsheet设置单元格 PhpSpreadsheet提供了丰富的API接口可以设置诸多单元格以及文档属性包括样式、图片、日期、函数等等诸多应用总之你想要什么样的Excel表格PhpSpreadsheet都能做到。 引入了正确的文件并实例化: use PhpOffice\PhpSpreadsheet\Spreadsheet;$spreadsheet new Spreadsheet(); $worksheet $spreadsheet-getActiveSheet();字体 第1行代码将A7至B7两单元格设置为粗体字Arial字体10号字第2行代码将B1单元格设置为粗体字。 $spreadsheet-getActiveSheet()-getStyle(A7:B7)-getFont()-setBold(true)-setName(Arial)-setSize(10);; $spreadsheet-getActiveSheet()-getStyle(B1)-getFont()-setBold(true);将文字颜色设置为红色 $spreadsheet-getActiveSheet()-getStyle(A4)-getFont()-getColor()-setARGB(\PhpOffice\PhpSpreadsheet\Style\Color::COLOR_RED);图片 可以将图片加载到Excel中 $drawing new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing(); $drawing-setName(Logo); $drawing-setDescription(Logo); $drawing-setPath(./images/officelogo.jpg); $drawing-setHeight(36);列宽 将A列宽度设置为30字符: $spreadsheet-getActiveSheet()-getColumnDimension(A)-setWidth(30);如果需要自动计算列宽可以这样 $spreadsheet-getActiveSheet()-getColumnDimension(B)-setAutoSize(true); 设置默认列宽为12: $spreadsheet-getActiveSheet()-getDefaultColumnDimension()-setWidth(12);行高 设置第10行行高为100pt $spreadsheet-getActiveSheet()-getRowDimension(10)-setRowHeight(100);设置默认行高: $spreadsheet-getActiveSheet()-getDefaultRowDimension()-setRowHeight(15); 对齐 将A1单元格设置为水平居中对齐: $styleArray [alignment [horizontal \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,], ]; $worksheet-getStyle(A1)-applyFromArray($styleArray); 合并 将A18到E22合并为一个单元格: $spreadsheet-getActiveSheet()-mergeCells(A18:E22);拆分 将合并后的单元格拆分: $spreadsheet-getActiveSheet()-unmergeCells(A18:E22);边框 将B2至G8的区域添加红色边框: $styleArray [borders [outline [borderStyle \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK,color [argb FFFF0000],],], ]; $worksheet-getStyle(B2:G8)-applyFromArray($styleArray);工作表标题 设置当前工作表标题: $spreadsheet-getActiveSheet()-setTitle(Hello); 日期时间 设置日期格式: $spreadsheet-getActiveSheet()-setCellValue(D1, 2018-06-15);$spreadsheet-getActiveSheet()-getStyle(D1)-getNumberFormat()-setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_YYYYMMDD2);换行 使用\n进行单元格内换行相当于(ALT“Enter”): $spreadsheet-getActiveSheet()-getCell(A4)-setValue(hello\nworld); $spreadsheet-getActiveSheet()-getStyle(A4)-getAlignment()-setWrapText(true)超链接 将单元格设置为超链接形式: $spreadsheet-getActiveSheet()-setCellValue(E6, www.helloweba.net); $spreadsheet-getActiveSheet()-getCell(E6)-getHyperlink()-setUrl(https://www.helloweba.net);使用函数 使用SUM计算B5到C5之间单元格的总和。其他函数同理最大数(MAX)最小数(MIN)平均值(AVERAGE): $spreadsheet-getActiveSheet()-setCellValue(B7, SUM(B5:C5));设置文档属性 可以设置Excel文档属性: $spreadsheet-getProperties()-setCreator(Helloweba) //作者-setLastModifiedBy(Yuegg) //最后修改者-setTitle(Office 2007 XLSX Test Document) //标题-setSubject(Office 2007 XLSX Test Document) //副标题-setDescription(Test document for Office 2007 XLSX, generated using PHP classes.) //描述-setKeywords(office 2007 openxml php) //关键字-setCategory(Test result file); //分类此外除了提供丰富的Excel文件处理接口外PhpSpreadshee还提供了CSVPDFHTML以及XML等文件处理接口。
http://www.w-s-a.com/news/585439/

相关文章:

  • 备案中的网站信息怎么填如何做分享赚钱的网站
  • 网站行程表怎么做注册公司费用要多少
  • 常见电子商务网站基本模式南山网站公司定
  • 网站搭建代码网站里面送礼物要钱怎么做代码
  • 大学英文网站建设举措wordpress 学院 模板
  • 爱 做 网站吗php网站作业模版
  • wordpress代码乱吗台州做网站seo的
  • 做ptt网站wordpress中文企业网站
  • 深圳雨棚制作深圳 网站优化公司排名
  • 深圳优秀网站建设价格wordpress没人用
  • 国企网站建设需要注意沈阳招标信息网
  • 东莞360推广的网站是谁做的上海网络推广产品
  • 网站可以换主机吗中国十大网站建设企业
  • 怎么做盗版小说网站官网做有下拉列表的网站的图片
  • 邢台网站建设电话网站界面类型
  • 网站制作合同模板做一个网站能挣多少钱
  • 汶上1500元网站建设互联网高端官网
  • 广州做公司网站网站开发培训机构
  • 网站建设与维护 课件网页版qq安全中心登录入口
  • 做三个月网站广告收入dw如何制作网页
  • ...课程网站建设简介工信部 网站备案查询
  • 网站代码建设 实例企业网站建设大概的费用
  • 制作网站软件排行榜过年做啥网站致富
  • 哪里有做网站企业seo关键词优化
  • 上海金山网站建设公司手机淘宝客网站怎么做的
  • 网站开发需要公司做网站费用计入什么科目
  • 网站优化有哪些类型免费制作app的傻瓜软件
  • 如何做网站咨询wordpress get
  • 企业网站建设网站做网站用别人的图片
  • 站长统计代码个人网站源代码