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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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下载地址:

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 浮动广告代码实例「建议收藏」

    浮动广告代码实例「建议收藏」很多网站的页面都有漂浮的广告效果,虽然烦人,但也确实起到了良好的宣传效果。各大代码网站也有关于漂浮代码的实例,很多存在着兼容性问题,不符合W3C标准,本站修复了兼容性问题,下面就简单介绍一下如何实现此效果。代码如下:[HTML]纯文本查看复制代码运行代码0102030405060708091011121314151617181920212223242526272829303

  • mysql分区表_MySQL分区分表[通俗易懂]

    mysql分区表_MySQL分区分表[通俗易懂]1、为什么要分表?数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询速度变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。当出现这种情况时,我们可以考虑分表或分区。…

  • python使用pip卸载和安装库「建议收藏」

    python使用pip卸载和安装库「建议收藏」pip先来演示pip的错误打开方式:C:\Users\86188>pyPython3.8.2(tags/v3.8.2:7b3ab59,Feb252020,22:45:29)[MSCv.191632bit(Intel)]onwin32Type”help”,”copyright”,”credits”or”license”formoreinformation.>>>pipTraceback(mostrecentcalllast

    2022年10月19日
  • 使用SurfaceView和MediaPlayer实现视频做为背景

    使用SurfaceView和MediaPlayer实现视频做为背景

  • 局域网组建与维护期末考试题_局域网聊天程序java报告

    局域网组建与维护期末考试题_局域网聊天程序java报告局域网的组建与维护》学科期中测试题2014年秋季学期13级《局域网的组建与维护》期中测试题班别_____________姓名_____________成绩________________一、填空题(每空2分,共20分)1、计算机网络按地理位置分,可分为广域网、城域网、_局域网___。2、网线制作中,若采用T568B标准,则8针配线线序依次是白橙、橙、白绿_____蓝、白蓝、绿、白棕、棕3、两头都采…

    2022年10月29日
  • 数据库之MySql建议收藏

    1.mysql安装mysql是一种开放源代码的关系型数据库管理系统(RDBMS),是使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。(1)下载地址:https://dev.

    2021年12月18日

发表回复

您的电子邮箱地址不会被公开。

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