phpspreadsheet中文手册_php读取文件内容

phpspreadsheet中文手册_php读取文件内容由于phpexcel已经不再维护,phpspreadsheet是phpexcel的下一个版本。phpspreadsheet是一个用纯php编写的库,并引入了命名空间,psr规范等。这里简单介绍下phpspreadsheet的导入导出功能。1、安装使用composer安装:composerrequirephpoffice/phpspreadsheetgithub下载:2、excel文件导出/**…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

由于phpexcel已经不再维护,phpspreadsheet是phpexcel的下一个版本。phpspreadsheet是一个用纯php编写的库,并引入了命名空间,psr规范等。这里简单介绍下phpspreadsheet的导入导出功能。

1、安装

使用composer安装:

composer require phpoffice/phpspreadsheet

github下载:

2、excel文件导出

/**

* excel文件导出

*/

function export()

{

require_once __dir__ . ‘/vendor/autoload.php’;

$data = [

[‘title1’ => ‘111’, ‘title2’ => ‘222’],

[‘title1’ => ‘111’, ‘title2’ => ‘222’],

[‘title1’ => ‘111’, ‘title2’ => ‘222’]

];

$title = [‘第一行标题’, ‘第二行标题’];

// create new spreadsheet object

$spreadsheet = new \phpoffice\phpspreadsheet\spreadsheet();

$sheet = $spreadsheet->getactivesheet();

// 方法一,使用 setcellvaluebycolumnandrow

//表头

//设置单元格内容

foreach ($title as $key => $value) {

// 单元格内容写入

$sheet->setcellvaluebycolumnandrow($key + 1, 1, $value);

}

$row = 2; // 从第二行开始

foreach ($data as $item) {

$column = 1;

foreach ($item as $value) {

// 单元格内容写入

$sheet->setcellvaluebycolumnandrow($column, $row, $value);

$column++;

}

$row++;

}

// 方法二,使用 setcellvalue

//表头

//设置单元格内容

$titcol = ‘a’;

foreach ($title as $key => $value) {

// 单元格内容写入

$sheet->setcellvalue($titcol . ‘1’, $value);

$titcol++;

}

$row = 2; // 从第二行开始

foreach ($data as $item) {

$datacol = ‘a’;

foreach ($item as $value) {

// 单元格内容写入

$sheet->setcellvalue($datacol . $row, $value);

$datacol++;

}

$row++;

}

// redirect output to a client’s web browser (xlsx)

header(‘content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’);

header(‘content-disposition: attachment;filename=”01simple.xlsx”‘);

header(‘cache-control: max-age=0’);

// if you’re serving to ie 9, then the following may be needed

header(‘cache-control: max-age=1’);

// if you’re serving to ie over ssl, then the following may be needed

header(‘expires: mon, 26 jul 1997 05:00:00 gmt’); // date in the past

header(‘last-modified: ‘ . gmdate(‘d, d m y h:i:s’) . ‘ gmt’); // always modified

header(‘cache-control: cache, must-revalidate’); // http/1.1

header(‘pragma: public’); // http/1.0

$writer = \phpoffice\phpspreadsheet\iofactory::createwriter($spreadsheet, ‘xlsx’);

$writer->save(‘php://output’);

exit;

}

结果:

2fc1b0a95487ef1d41780cb41caf3765.png

3、excel文件保存到本地

/**

* excel文件保存到本地

*/

function save()

{

require_once __dir__ . ‘/vendor/autoload.php’;

$data = [

[‘title1’ => ‘111’, ‘title2’ => ‘222’],

[‘title1’ => ‘111’, ‘title2’ => ‘222’],

[‘title1’ => ‘111’, ‘title2’ => ‘222’]

];

$title = [‘第一行标题’, ‘第二行标题’];

// create new spreadsheet object

$spreadsheet = new \phpoffice\phpspreadsheet\spreadsheet();

$sheet = $spreadsheet->getactivesheet();

//表头

//设置单元格内容

$titcol = ‘a’;

foreach ($title as $key => $value) {

// 单元格内容写入

$sheet->setcellvalue($titcol . ‘1’, $value);

$titcol++;

}

$row = 2; // 从第二行开始

foreach ($data as $item) {

$datacol = ‘a’;

foreach ($item as $value) {

// 单元格内容写入

$sheet->setcellvalue($datacol . $row, $value);

$datacol++;

}

$row++;

}

// save

$writer = \phpoffice\phpspreadsheet\iofactory::createwriter($spreadsheet, ‘xlsx’);

$writer->save(’01simple.xlsx’);

}

4、读取excel文件内容

/**

* 读取excel文件内容

*/

function read()

{

require_once __dir__ . ‘/vendor/autoload.php’;

$inputfilename = dirname(__file__) . ‘/01simple.xlsx’;

$spreadsheet = \phpoffice\phpspreadsheet\iofactory::load($inputfilename);

// 方法二

$sheetdata = $spreadsheet->getactivesheet()->toarray(null, true, true, true);

return $sheetdata;

}

结果:

98051ec76959d0fe71a05a594ef7097c.png

可能出现的问题:

1、fatal error: uncaught error: class ‘phpoffice\phpspreadsheet\spreadsheet’ not found

这是因为没有自动加载。可以手动引入加载文件。

require_once __dir__ . ‘/vendor/autoload.php’;

或者:

require_once __dir__ . ‘/vendor/phpoffice/phpspreadsheet/src/bootstrap.php’;

2、fatal error: interface ‘psr\simplecache\cacheinterface’ not found

这是因为没有psr文件,缺少simple-cache模块。如果使用composer安装的话会自动生成。没有的话可以手动下载。

github下载地址:

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192499.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA中&&和&、||和|的区别?「建议收藏」

    JAVA中&&和&、||和|的区别?「建议收藏」问题一:JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别?首先名称是不同的&&逻辑与  ||逻辑或  它们都是逻辑运算符& 按位与  | 按位或  它们都是位运算符if(a==1&&b==2) 这是说既要满足a=1也要满足b=2if(a==1||b==2) 这是说或者满足a=1或者要满足b=2而a&b或者a|b则是二进制的与…

    2022年7月7日
  • MySQL 5.7中添加,弃用或删除了服务器和状态变量和选项「建议收藏」

    MySQL 5.7中添加,弃用或删除了服务器和状态变量和选项

    2022年2月10日
  • python 制作淘宝秒杀脚本

    python 制作淘宝秒杀脚本1. 安装pycharm。网上教程很多。2. 安装Selenium库。Selenium支持很多浏览器,我选择的是Firefox浏览器。因为我这里是Python3环境,自带的又pip,所以安装selenium直接使用pip安装安装方法:–打开cmd;–输入命令进入Python36/Scripts(找到下图的目录)目录下;–输入命令pipinstalls…

    2022年5月5日
  • RegisterStartupScript和RegisterClientScriptBlock

    RegisterStartupScript和RegisterClientScriptBlockPage.Response.Write(“varresponse;”);    Page.RegisterStartupScript(“RegisterStartupScript”,”varRegisterStartupScript;”);    Page.RegisterClientScriptBlock(“RegisterClientScriptBlock”,”varRe

    2022年7月20日
  • AngularJS简介

    AngularJS简介AngularJS简介AngularJS是一个JavaScript矿建,他是一个JavaSscript编写的库。可以通过<script>标签添加到HTML页面。AngularJS是通过指令扩展了HTML,且通过表达式绑定数据到HTML。地址:<scriptsrc="http://apps.bdimg.com/libs/angular.js/1.4.6/angul…

    2022年7月25日
  • 如何用matlab画圆

    如何用matlab画圆用matlab画一个以(40,40)为圆心,以20位半径的圆r=20;%设置半径为20theta=0:pi/100:2*pi;%以pi/100为圆心角画圆x=40+r*cos(theta);…

    2022年6月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号