將數據庫讀取出來的數據生成對應的表格(無格式):
因爲自己有個需求是需要將數據庫的數據生成對應的Excel表格,因爲無任何基礎,所以在網上花費了大量的時間進行百度,現將自己掌握的內容記錄一下,以供後續的帶哥們少走彎路,實現簡單的需求。
首先,需要知道存在這麼一個插件:https://github.com/PHPOffice/PhpSpreadsheet 這是一個比較常見的用於處理Excel表格的插件。進入你的項目目錄,然後在目錄中打開命令行輸入:
composer require phpoffice/phpspreadsheet (前提是你已經安裝過composer了,具體的方法自行百度)操作之後,就能進行對應的需求開發了。
header('Content-Type: application/octet-stream');
header('Accept-Ranges:bytes');
header('Content-Type: application/vnd.ms-excel');
header('Pragma:no-cache');
header('Expires:0');
header('Content-Disposition: attachment; filename='.$messname.'');
$output = fopen('php://output', 'w') or die("Can't open php://output");
//UTF8 csv文件頭前需添加BOM,不然會是亂碼
fwrite($output, chr(0xEF) . chr(0xBB) . chr(0xBF));
// 輸出標題行
fputcsv($output, array('用戶姓名', '用戶電話', '性別','年齡區間','感興趣的產品','推薦人','信息真實性'));
//此方法需要將對應的對象數據轉化成對應的二維數組進行對應的操作
$rows = $usersInfos;
foreach ($rows as $row) {
fputcsv($output, $row);
}
fclose($output) or die("Can't close php://output");
}
這是最簡單的可以實現生成Excel表格的方法,並且能將對應的表格通過瀏覽器下載,具體的通過phpspreadsheet 實現表格的下載可以參照這個:https://www.cnblogs.com/windyet/articles/9711044.html
然後,是讀取Excel表格的方法:
$file =$_FILES['userinfo'];
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::load($file['tmp_name']);
$sheet = $reader->getActiveSheet();
$res = array();
foreach ($sheet->getRowIterator(2) as $row){
$tmp = array();
foreach ($row->getCellIterator() as $cell){
$tmp [] = $cell->getFormattedValue();
}
$res[$row->getRowIndex()] = $tmp;
}
這也是最簡單的,通過一個from表格,將表格提交到後臺,然後進行最基本的讀取。
具體的API可以參見https://phpspreadsheet.readthedocs.io/en/latest/ 進行學習
PHP怎麼生成和讀取簡單的Excel表格
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.