1. 程式人生 > >PHP使用PHPExcel匯出,匯入資料總結

PHP使用PHPExcel匯出,匯入資料總結

匯出excel:

        header("Content-type: text/html; charset=utf-8");
        include_once dirname(dirname(__FILE__)).'/Classes/PHPExcel.php';
        $objPHPExcel = new PHPExcel();
        $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
            ->setLastModifiedBy("Maarten Balliauw")
            ->setTitle("Office 2007 XLSX Test Document")
            ->setSubject("Office 2007 XLSX Test Document")
            ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
            ->setKeywords("office 2007 openxml php")
            ->setCategory("Test result file");
        
        //設定標題
        $objPHPExcel->getActiveSheet()->setTitle($filename);

        //設定表頭
        $key1 = 1;
        $objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A'.$key1, 'ID')
            ->setCellValue('B'.$key1, '關鍵詞')
            ->setCellValue('C'.$key1, '歌曲HASH')
            ->setCellValue('D'.$key1, '歌曲名')
            ->setCellValue('E'.$key1, '排序')
            ->setCellValue('F'.$key1, '開始日期')
            ->setCellValue('G'.$key1, '結束日期')
            ->setCellValue('H'.$key1, '操作人');

        //設定樣式:
        $objPHPExcel->getActiveSheet()->getStyle('A1:H1')->getFont()->setBold(true); //多個單元格
        // $objPHPExcel->getActiveSheet()->getStyle('A1:H1')->getFont()->getColor()->setARGB('FFFF0000'); //設定顏色
        // $objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true); //單個單元格
        $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);  //列寬必須單個設定
        $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setAutoSize(true);
        $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setAutoSize(true);

        //寫入內容
        foreach($datalist as $key =>$value){
            $key1=$key+2;
            $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A'.$key1, $value['id'])
                ->setCellValue('B'.$key1, $value['keyword'])
                ->setCellValue('C'.$key1, $value['hash'])
                ->setCellValue('D'.$key1, $value['filename'])
                ->setCellValue('E'.$key1, $value['weight'])
                ->setCellValue('F'.$key1, $value['startdate'])
                ->setCellValue('G'.$key1, $value['enddate'])
                ->setCellValue('H'.$key1, $value['editor']);
        }
        // $objPHPExcel->setActiveSheetIndex(0);

        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="'. $filename .'.xls"');
        header('Cache-Control: max-age=0');

        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;

從excel匯入:
        header("Content-type: text/html; charset=utf-8");
        $addFile=$_FILES['excel'];
        $excelFileName =$addFile['tmp_name'];
        $location = KG_DOMAIN . '/diysort/index';
        if ($addFile['type'] != 'application/vnd.ms-excel' && $addFile['type'] != 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
            echo '<script type="text/javascript">alert("上傳格式錯誤");window.location.href="' . $location .'";</script>';
            //header("Location: " . KG_DOMAIN . '/diysort/index');
            exit;
        }
        include_once dirname(dirname(__FILE__)).'/Classes/PHPExcel/IOFactory.php';
    
        $objPHPExcel = PHPExcel_IOFactory::load($excelFileName);
        $objWorksheet = $objPHPExcel->getSheet(0);
        $highestRow    = $objWorksheet->getHighestRow();          // 取得總行數
        $highestColumn = $objWorksheet->getHighestColumn();    // 取得總列數

        $highestColumnIndex = PHPExcel_Cell::columnIndexFromString ( $highestColumn );  
        $excelData = array ();  
        for($row = 1; $row <= $highestRow; $row++) {  
            for($col = 0; $col < $highestColumnIndex; $col++) {  
                $excelData[$row-1][] = $objWorksheet->getCellByColumnAndRow( $col, $row )->getValue();  
            }  
        }  
        //資料入庫
        $diysortmodule = new DiysortModule();
        $rowins = 0;
        foreach ($excelData as $key => $value) {
            if (empty($value) || trim($value[0]) == '關鍵詞' || trim($value[0] == 'ID')) {
                continue;
            }
            $keyword = trim(addslashes($value[0]));
            $hash = trim(addslashes($value[1]));
            $filename = trim(addslashes($value[2]));
            $weight = intval($value[3]);
            $startdate = trim(addslashes($value[4]));
            $enddate = trim(addslashes($value[5]));
            $adddate = date('Y-m-d H:i:s',time());
            $input_data = array(
                'keyword'    => $keyword,
                'startdate'  => $startdate,
                'enddate'    => $enddate,
                'hash'       => $hash,
                'filename'   => $filename,
                'weight'     => $weight,
                'adddate'    => $adddate,
                'editor'     => $this->editor, 
            );
            if (!empty($hash) && !empty($filename) && is_numeric($weight)) {
                $newid = $diysortmodule->addData($input_data);
                if ($newid > 0) {
                    $rowins ++;
                }
            }
        }
        echo '<script type="text/javascript">alert("共上傳成功'. $rowins.' 條記錄");window.location.href="' . $location .'";</script>';
        exit;


相關推薦

PHP使用PHPExcel匯出匯入資料總結

匯出excel: header("Content-type: text/html; charset=utf-8"); include_once dirname(dirname(__FILE__)).'/Classes/PHPExcel.php

SRPG遊戲開發(三十五)第八章 遊戲中的資料 - 五 測試匯出匯入與編輯器說明(Test, Export, Import and Description)

返回總目錄 第八章 遊戲中的資料(Data in Game) 在之前的章節中,我們進行地圖物件的生成,移動等操作。 這一章本來可以進行戰鬥的編寫,不過資料缺失是一個問題。 所以這一章我們先來建立一些資料,以及如何編輯它們,是否需要生成配置檔案等。 文章

Oracle 資料匯出匯入操作

原理:通過Oracle BIN目錄的exp.exe工具進行資料匯出 匯出表 1. 開啟CMD,cd到Oracle資料庫安裝目錄裡的BIN目錄 2.  匯出scott使用者orcl資料庫中的emp表至D盤,檔名為emp.dmp exp userid=scott/[email

MySQL 使用視覺化工具匯出匯入資料

1、使用Navicate for MySQL; 匯出:在左邊的資料庫列表右鍵點選要匯出資料的資料庫,選擇“轉儲SQL檔案”,然後選好目錄儲存即可; 匯入:在左邊的資料庫列表右鍵點選要匯入資料的資料庫

Navicat for MySql 匯出匯入資料

 MySql是我們經常用到的資料,無論是開發人員用來練習,還是小型私服遊戲伺服器,或者是個人軟體使用,都十分方便。對於做一些個人輔助軟體,選擇mysql資料庫是個明智的選擇,有一個好的工具更是事半功倍,對於MySql 的IDE 我推薦Navicat for MySql

keras 影象識別例項CIFAR-10分類匯入資料檢視最初9張圖片

圖片識別是卷積神經網路的主要應用之一。這個資料集是有Alex Krizhevsky 、 Vinod Nair 和GeoffreyHinton手機整理。共包含了60000張32* 32的彩色影象,50000張用於訓練模型、10000張用於評估模型。訓練的資料集被均勻分成10個類

oracle客戶端開啟資料庫建立匯出匯入

1,安裝oracle客戶端 修改配置檔案 內容如下,需要修改 # tnsnames.ora Network Configuration File: F:\oracle11g\product\11.1.0\db_1\network\admin\tnsnames.ora

如何在oracle中匯出匯入資料

如何在oracle中匯入資料 Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp文 件,imp命令可以把dm

阿里雲匯出匯入資料注意事項

近期一直在搞伺服器端,在阿里雲上匯出、匯入資料時,遇到了一些問題,在此總結一下。 由於匯出資料時,使用了預設選項,結果導致匯出時很順暢,而匯入時,卻屢次不能成功;而阿里雲的控制檯上,毛提示都沒有啊,鬱悶了半天,想到有可能是字元編碼的問題,於是把字元編碼改成UTF-8,我去

mysql 命令匯出匯入 查詢結果

需求:某些特殊的資料要同步到其他伺服器 匯出 命令結構: select … into outfile ‘儲存路徑+檔名’; SELECT * FROM user where id between 2 a

Sqlite 命令列匯出匯入資料

開啟命令列 匯出資料到data.csv D:\project>sqlite3.exe old.db SQLite version 3.21.0 2017-10-24 18:55:49 En

oracle建立表空間及使用者匯出匯入資料備份

轉載:https://blog.csdn.net/ludongshun2016/article/details/52849784?utm_source=copy  建立表空間及使用者 //建立臨時表空間   create temporary tablespace salt

memcached基於magent 多主多從主主同步主從備份匯入匯出大於2M資料

                       安裝部署memcached 基於magent的 主從同步 主主同步 需下載的包 wget http://www.memcached.org/files/memcached-1.5.10.tar.gz wget https://

資料之hbase(五) --- 匯出Hbase的表文件到HDFSHbase Bulk Load HbaseMySQL資料通過MR匯入到Hbase表中

一、匯出Hbase的表文件到HDFS -------------------------------------------------------------------------- 1.複製hbase的jar檔案和metrices-core-xxx.jar檔案到

SDE連線建立資料資料匯入以及資料匯出

1.介面 2.資料庫的連線 [csharp]  view plain  copy IWorkspace worksp

【ORACLE】dmp格式匯入匯出表沒有資料的情況下該表匯入會缺失

使用過oralce很多種匯入匯出的方式,pde,sql(匯出不支援blog格式),dmp格式,覺得.dmp最為方便,可以匯出所有的表結構、資料、SEQ及儲存過程等,下面就開始具體流程,並說明到如果表中沒有資料時如何匯入。匯入匯出.dmp命令,在cmd視窗執行,其中file為儲

5.非關係型資料庫(Nosql)之mongodb:建立集合備份與匯入匯出 資料還原匯入匯出

1固定集合固定集合值得是事先建立而且大小固定的集合2固定集合的特徵:固定集合很像環形佇列,如果空間不足,最早文件就會被刪除,為新的文件騰出空間。一般來說,固定集合適用於任何想要自動淘汰過期屬性的場景

SpringBoot整合POI實現檔案匯出Excel匯入Excel更新Mysql資料庫資料

        上傳功能 轉載自https://blog.csdn.net/xyy1028/article/details/79054749原創寫的非常好,但是每個人都有自己的業務邏輯;所以在研究了一點之後,打上註釋,方便新手理解,同時也方便自己記憶;專案目錄applicat

Mysql匯入匯出資料總結

寫在前面的話:1,Mysql資料庫在進行匯入匯出時最好先斷開一切訪問資料庫的連線,否則會發生難以預料的錯誤,例如:我在匯入資料庫的時候,一直無法匯入,報錯無法讀取db.sql,或者出現輸入指令後加了分號

王昕的 java 下Excel的匯入匯出資料校驗

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import j