php導出excel數據代碼,phpspreadsheet導出數據到Excel的方法介紹(代碼示例)

本篇文章給大家帶來的內容是關于phpspreadsheet導出數據到Excel的方法介紹(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

之前我們使用PHP導出Excel數據時使用的是PHPExcel庫,但是phpoffice已經官方宣布PHPExcel已經被廢棄不在維護,推薦使用phpspreadsheet,如下圖所示

6eea050c7302493527cdfb7bce745a97.png

我們可以通過composer安裝phpspreadsheet

10fce0a30b97fd3badb235101a823538.pngcomposer require phpoffice/phpspreadsheet

使用phpspreadsheet導出學生信息到瀏覽器代碼示例/**

* 輸出到瀏覽器(需要設置header頭)

* @param string $fileName 文件名

* @param string $fileType 文件類型

*/

function excelBrowserExport($fileName, $fileType) {

//文件名稱校驗

if(!$fileName) {

trigger_error('文件名不能為空', E_USER_ERROR);

}

//Excel文件類型校驗

$type = ['Excel2007', 'Xlsx', 'Excel5', 'xls'];

if(!in_array($fileType, $type)) {

trigger_error('未知文件類型', E_USER_ERROR);

}

if($fileType == 'Excel2007' || $fileType == 'Xlsx') {

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header('Content-Disposition: attachment;filename="'.$fileName.'.xlsx"');

header('Cache-Control: max-age=0');

} else { //Excel5

header('Content-Type: application/vnd.ms-excel');

header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');

header('Cache-Control: max-age=0');

}

}

$data = [

[1, 'jack', 10],

[2, 'mike', 12],

[3, 'jane', 21],

[4, 'paul', 26],

[5, 'kitty', 25],

[6, 'yami', 60],

];

$title = ['id', 'name', 'age'];

$spreadsheet = new Spreadsheet();

$worksheet = $spreadsheet->getActiveSheet();

//設置工作表標題名稱

$worksheet->setTitle('工作表格1');

//表頭

//設置單元格內容

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

$worksheet->setCellValueByColumnAndRow($key+1, 1, $value);

}

$row = 2; //從第二行開始

foreach ($data as $item) {

$column = 1;

foreach ($item as $value) {

$worksheet->setCellValueByColumnAndRow($column, $row, $value);

$column++;

}

$row++;

}

$fileName = '學生信息';

$fileType = 'Xlsx';

//1.下載到服務器

//$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');

//$writer->save($fileName.'.'.$fileType);

//2.輸出到瀏覽器

$writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); //按照指定格式生成Excel文件

excelBrowserExport($fileName, 'Xlsx');

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

導出結果如圖所示:

0fbaec058b1167ae8724712fb223a8d3.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531973.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531973.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531973.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

sp 導出unity哪個_GitHub上發現的一個導出Unity3D場景數據的工具

1、源地址2、導出腳本腳本名:Unity3DExporter.csC#using UnityEditor;using UnityEngine;using System;using System.Collections.Generic;using System.Linq;using System.IO;public class Unity3DExporter : EditorWindow{private static bool mIsWindowOpen;private bool mE…

poj3422 Kaka's Matrix Travels(最小費用最大流問題)

1 /*2 poj3422 Kakas Matrix Travels 3 不知道 k次 dp做為什么不對???4 看了大牛的代碼,才知道還可以這樣做! 5 開始沒有理解將a 和 a‘ 之間建立怎樣的兩條邊,導致程序一直陷入死循環,真心花了…

java把對象轉成圖片格式轉換器安卓版,java 萬能圖片格式轉換

話不多說,直接上代碼import java.awt.image.BufferedImage;import java.awt.image.Raster;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class IOUtil {public static void pgm2png(String src, String dest) throws IOExc…

hadooppythonsql_python - hadoop,mapreduce demo

Hadoop,mapreduce 介紹59888745qq.com大數據工程師是在Linux系統下搭建Hadoop生態系統(cloudera是最大的輸出者類似于Linux的紅帽),把用戶的交易或行為信息通過HDFS(分布式文件系統)等存儲用戶數據文件,然后通過Hbase(類似于NoSQL)等存儲數據&#xff0c…

hdu 2896 病毒侵襲 ac自動機

1 /*2 hdu 2896 病毒侵襲 ac自動機 3 從題意得知,模式串中沒有重復的串出現,所以結構體中可以將last[](后綴鏈接)數組去掉 4 last[]數組主要是記錄具有相同后綴模式串的末尾節點編號 。本題中主要是計算每一個模式串5 在主串中有沒…

axure原件 總是丟失_Axure實現提示文本單擊顯示后自動消失的效果

FORM一 .新增的input輸入屬性 1.email類型 在表單提交E-mail地址時,無效的輸入會生成很多無效數據,對后期的數據檢索造成一定的影響.所以在表單提交之前,需要對輸入的E-mail地址進行有效 ...Google的Protobuf協議分析protobuf和thrift類似,也是一個序列化的協議實現,簡稱PB(下文…

linux php不能寫文件內容,php 在linux系統下寫出文件問題

最近寫了一個簡單的生成文件,服務器用的linux 但是在將文件寫出到路徑的時候就會寫出一個其他的文件夾其中一些代碼如下define("paddy",dirname(__FILE__));$gkrequest_uri();$filepathpaddy.$gk;createfile($filefath,$file);//$f…

python mysql刪除數據_python-mysql刪除和更新數據

刪除數據import codecsimport MySQLdbdef connect_mysql():db_config {host: 192.168.48.128,port: 3306,user: xiang,passwd: 123456,db: python,charset: utf8}cnx MySQLdb.connect(**db_config)return cnxif __name__ __main__:cnx connect_mysql()sql select * from S…

xlat指令...

1 ;就是一個串str1, lea ebx, str1 然后我們ebx1總是加上的是一個字節, 無論(串是word, byte, dword)2 .3863 .model flat4 .stack 40965 include io.h6 ExitProcess proto near32 stdcall, deExitCode:dwo…

php 串口通信例程,HAL庫串口通信例程

請問下 為什么要 用void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)這個函數呢?不用不行嗎?static void MX_USART1_UART_Init(void){huart1.Instance USART1;huart1.Init.BaudRate 9600;huart1.Init.WordLength UART_WORDLENGTH_8B;huart1.Init.Stop…

char 類型與lpcwstr_「lpctstr」char* 與 LPCTSTR 類型的互相轉換 - seo實驗室

lpctstr1.char* 轉換成 LPCTSTRchar ch[1024] "wo shi ni baba";int num MultiByteToWideChar(0,0,ch,-1,NULL,0);wchar_t *wide new wchar_t[num];MultiByteToWideChar(0,0,ch,-1,wide,num);解析:num 獲得長字節所需的空間MultiByteToWideChar()表示將…

poj 2195 Going Home

1 /*2 做網絡流的題建圖真的是太重要了!3 本題是將人所在的位置和房子所在的位置建立邊的聯系,其中man到house這一條邊的流量為 1, 費用為兩者的距離4 而方向邊的流量為 0, 費用為正向邊的相反數(也就是沿著反…

CardLayout布局練習(小的圖片瀏覽器)

1 /*2 涉及Panel中的圖片的加載,還有Frame的關閉的方法, CardLayout(int hgap, int vgap)就會決定卡片面板的大小3 匿名類的使用。。。4 */5 import java.awt.*;6 import java.awt.event.*;7 import javax.swing.*;8 public class…

python求逆矩陣的方法,Python 如何求矩陣的逆

我就廢話不多說了,大家還是直接看代碼吧~import numpy as npkernel np.array([1, 1, 1, 2]).reshape((2, 2))print(kernel)print(np.linalg.inv(kernel))注意,Singular matrix奇異矩陣不可求逆補充:pythonnumpy中矩陣的逆和偽逆的區別定義&a…

plsql存過聲明游標_plsql編程學習之游標一

oralce plsql編程的游標游標分類1顯示游標2隱式游標隱式游標,oracle自動管理,不用聲明,打開和關閉,ORACLE自動處理,使用隱式游標%FOUND時,需要加上 SQL%FOUND顯示游標,需要自己聲明,…

用命令行編譯java并生成可執行的jar包

用命令行編譯java并生成可執行的jar包 1.編寫源代碼。 編寫源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java。程序結構如下:package test;import java.awt.*; import javax.swing.*; //更多包的導入...clas…

python計時器單位,python(計時器)

計時器要求:定制一個計時器的類start 和 stop方法代表啟動計時和停止計時假設計時器對象 t1,print(t1)和直接調用t1 均顯示結果當計時器未啟動或已停止計時,調用stop方法能給予溫馨提示兩個計時器對象可以相加: t1 t2只能使用提供…

查詢分析300萬筆記錄_給你100萬條數據的一張表,你將如何查詢優化?

1.兩種查詢引擎查詢速度(myIsam 引擎)InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行。MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 whe…

poj 3321 Apple Trie

/*poj 3321 Apple Trie 這道題的關鍵是如何將一個樹建成一個一維數組利用樹狀數組來解題!可以利用dfs()來搞定,我們在對一個節點深搜后,所經過的節點的數目就是該節點的子樹的數目所以我們利用start[i]數組來記錄 i 節…

php美團項目分享,美團項目(純代碼)(示例代碼)

一.框架搭建1.icon規格要求可從文檔中查找,搜索app icon.2.因為很多界面重復利用,所以不用storyboarda.刪除stroyboard,在設置中Info -> Main storyboard file base name 項直接去除b.創建ZXHomeViewController(UICollectionViewController)和ZXNavigationController(UINavi…