php實現excel表共享:php導入excel文件

phpExcel早已停止維護,現在都用phpSpreadSheet。

網上那些phpSpreadSheet教程都啰里啰唆,叨叨這個那個,沒個能打的~

還得看我這個,代碼拷走,改改就能用,就是這麼粗魯!

安裝

composer require phpoffice/phpspreadsheet

代碼

<?php

declare (strict_types = 1);

namespace app\controller;

use think\Request;

use think\facade\View;

use think\facade\Db;

use PhpOffice\PhpSpreadsheet\Cell\Coordinate;

use PhpOffice\PhpSpreadsheet\IOFactory;

use PhpOffice\PhpSpreadsheet\Spreadsheet;

use PhpOffice\PhpSpreadsheet\Writer\Csv;

use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

class Xiangmu

{

public function exportExcel()

{

// 查詢要導出的數據

$data = Db::query(“select project,price from xiangmu”);

// 實例化

$spreadsheet = new Spreadsheet();

// 獲取活動單元格

$sheet = $spreadsheet->getActiveSheet();

// 獲取單元格

$cellA = $sheet->getCell(‘A1’);

// 設置單元格的值

$cellA->setValue(‘項目名稱’);

// 設置 A 列 列寬

$sheet->getColumnDimension(‘A’)->setWidth(100);

// 設置第一行 行高

$sheet->getRowDimension(1)->setRowHeight(20);

$cellB = $sheet->getCell(‘B1’);

$cellB->setValue(‘操作人’);

$sheet->getColumnDimension(‘B’)->setWidth(20);

$cellC = $sheet->getCell(‘C1’);

$cellC->setValue(‘檢測量’);

$sheet->getColumnDimension(‘C’)->setWidth(10);

// 設置樣式 標題

$styleArray = [

‘alignment’ => [

‘horizontal’ => ‘center’, //水平居中

‘vertical’ => ‘center’, //垂直居中

],

‘font’ => [

‘name’ => ‘黑體’,

‘bold’ => false,

‘size’ => 10

]

];

// 設置樣式 正文

$styleArrayBody = [

‘alignment’ => [

‘horizontal’ => ‘center’, //水平居中

‘vertical’ => ‘center’, //垂直居中

],

‘font’ => [

‘name’ => ‘宋體’,

‘bold’ => false,

‘size’ => 10

]

];

// 應用樣式

$sheet->getStyle(‘A1’)->applyFromArray($styleArray);

$sheet->getStyle(‘B1’)->applyFromArray($styleArray);

$sheet->getStyle(‘C1’)->applyFromArray($styleArray);

// 給sheet起個名字

$sheet->setTitle(‘項目’);

// 從 A2 開始填充數據

foreach ($data as $k => $v) {

$n = $k + 2;

// 獲取單元格

$cellA = $sheet->getCell(‘A’ . $n);

// 設置單元格的值

$cellA->setValue($v[‘project’]);

$cellB = $sheet->getCell(‘B’ . $n);

$cellB->setValue(‘民族復興不可阻擋’);

$cellC = $sheet->getCell(‘C’ . $n);

$cellC->setValue($v[‘price’]);

}

$file_name = ‘導出數據.xlsx’;

// 實例化導出類

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

header(‘Content-Disposition:attachment;filename=’ . $file_name);

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

$writer = IOFactory::createWriter($spreadsheet, ‘Xlsx’);

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

}

}

上面代碼直接保存成一個.php文件,就能用。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/224261.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:37
下一篇 2024-12-09 14:37

相關推薦

發表回復

登錄後才能評論