日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

隨著互聯(lián)網(wǎng)應(yīng)用日益普及,以及各類數(shù)據(jù)之間的相互交互和數(shù)據(jù)轉(zhuǎn)移需求的不斷增長,文件格式的轉(zhuǎn)換和導(dǎo)入導(dǎo)出已成為常見需求之一。在Web應(yīng)用程序中,導(dǎo)入和導(dǎo)出Excel文件是日常工作中常見的數(shù)據(jù)交換方式。本文將介紹如何在ThinkPHP6框架中實現(xiàn)Excel導(dǎo)入導(dǎo)出功能。

一、 ThinkPHP6框架介紹

ThinkPHP6是一個自由、開源、快速、簡單的面向?qū)ο蟮妮p量級PHP框架。它具有高性能、豐富的功能、靈活的配置、強大的擴展性等特點,已經(jīng)成為PHP應(yīng)用開發(fā)領(lǐng)域的一個熱門框架。

二、Excel導(dǎo)出

    示例代碼
<?php
namespace appindexcontroller;

use PHPExcel;
use PHPExcel_IOFactory;

class ExcelExport
{
    public function export()
    {
        $objPHPExcel = new PHPExcel();

        // 設(shè)置當(dāng)前活動sheet
        $objPHPExcel->setActiveSheetIndex(0);

        // 設(shè)置標(biāo)題
        $objPHPExcel->getActiveSheet()->setTitle('學(xué)生成績');

        // 設(shè)置表頭
        $objPHPExcel->getActiveSheet()->setCellValue('A1', '學(xué)號');
        $objPHPExcel->getActiveSheet()->setCellValue('B1', '姓名');
        $objPHPExcel->getActiveSheet()->setCellValue('C1', '語文');
        $objPHPExcel->getActiveSheet()->setCellValue('D1', '數(shù)學(xué)');
        $objPHPExcel->getActiveSheet()->setCellValue('E1', '英語');
        $objPHPExcel->getActiveSheet()->setCellValue('F1', '總分');

        // 設(shè)置數(shù)據(jù)
        $data = [
            ['1001', '張三', '85', '90', '88', '263'],
            ['1002', '李四', '90', '88', '90', '268'],
            ['1003', '王五', '92', '87', '91', '270']
        ];
        $row = 2;
        foreach ($data as $val) {
            $objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $val[0]);
            $objPHPExcel->getActiveSheet()->setCellValue('B' . $row, $val[1]);
            $objPHPExcel->getActiveSheet()->setCellValue('C' . $row, $val[2]);
            $objPHPExcel->getActiveSheet()->setCellValue('D' . $row, $val[3]);
            $objPHPExcel->getActiveSheet()->setCellValue('E' . $row, $val[4]);
            $objPHPExcel->getActiveSheet()->setCellValue('F' . $row, $val[5]);
            $row++;
        }

        // 設(shè)置列寬
        $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);
        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
        $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
        $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);

        // 導(dǎo)出Excel
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="學(xué)生成績.xlsx"');
        header('Cache-Control: max-age=0');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
        $objWriter->save('php://output');
        exit;
    }
}

登錄后復(fù)制

    說明

上面的示例代碼演示了如何使用PHPExcel庫實現(xiàn)Excel導(dǎo)出。PHPExcel庫是一個PHP讀寫Excel文件的開源庫,功能強大,操作簡單。

首先,我們創(chuàng)建了一個PHPExcel實例,然后設(shè)置當(dāng)前活動sheet,并設(shè)置了標(biāo)題和表頭。之后,我們設(shè)置數(shù)據(jù)并對列寬進行了設(shè)置。最后,我們使用header函數(shù)設(shè)置了導(dǎo)出Excel的內(nèi)容類型、文件名和緩存控制,然后使用PHPExcel_IOFactory類的createWriter方法創(chuàng)建一個Excel2007格式的寫入器,并將數(shù)據(jù)流輸出到瀏覽器。

三、Excel導(dǎo)入

    示例代碼
<?php
namespace appindexcontroller;

use PHPExcel;
use PHPExcel_IOFactory;

class ExcelImport
{
    public function import()
    {
        if (empty($_FILES['file']['tmp_name'])) {
            echo '請選擇文件!';
            exit;
        }

        $reader = PHPExcel_IOFactory::createReader('Excel2007');
        $PHPExcel = $reader->load($_FILES['file']['tmp_name']);

        $sheet = $PHPExcel->getSheet(0); // 獲得第1個工作表

        $highestRow = $sheet->getHighestRow(); // 取得總行數(shù)
        $highestColumn = $sheet->getHighestColumn(); // 取得總列數(shù)

        $data = [];
        for ($row = 2; $row <= $highestRow; $row++) {
            $rowData = [];
            for ($col = 'A'; $col <= $highestColumn; $col++) {
                $rowData[$col] = (string)$sheet->getCell($col . $row)->getValue();
            }
            $data[] = $rowData;
        }

        var_dump($data);
    }
}

登錄后復(fù)制

    說明

上面的示例代碼演示了如何使用PHPExcel庫實現(xiàn)Excel導(dǎo)入。首先,我們判斷客戶端是否上傳了文件,并使用PHPExcel_IOFactory類的createReader方法創(chuàng)建一個Excel2007格式的讀取器。然后,我們使用$reader的load方法將Excel文件讀入內(nèi)存,并獲取其中的第一個工作表。接下來,我們通過最高行和最高列的索引值循環(huán)遍歷Excel表格,將每行數(shù)據(jù)以關(guān)聯(lián)數(shù)組的形式存儲到$data變量中,并最終輸出該變量。

四、總結(jié)

通過本文的介紹,我們了解了如何使用ThinkPHP6框架結(jié)合PHPExcel庫實現(xiàn)Excel文件的導(dǎo)入導(dǎo)出功能,這為我們的Web應(yīng)用程序開發(fā)提供了便利和支持。我們可以根據(jù)實際的需求,靈活運用PHPExcel庫的各種方法和屬性,來實現(xiàn)文件格式交換,并更好地服務(wù)于我們的應(yīng)用程序。

以上就是ThinkPHP6中如何進行Excel導(dǎo)入和導(dǎo)出?的詳細(xì)內(nèi)容,更多請關(guān)注www.xfxf.net其它相關(guān)文章!

分享到:
標(biāo)簽:Excel導(dǎo)入 Excel導(dǎo)出 thinkphp
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定