Home  >  Article  >  Backend Development  >  Introduction to the steps of reading and writing excel in php and processing Excel in php

Introduction to the steps of reading and writing excel in php and processing Excel in php

WBOY
WBOYOriginal
2016-07-28 08:25:271221browse

Introduction to the steps of php processing Excel
Encountered problems
In daily work, there is often a need to export a database table to Excel or import Excel into a database table. This requirement has been realized long ago. In order to facilitate import and export, Brothers www.lampbrother.net has divided it into two methods as records.
Code implementation
Reference to phpexcel class library
phpexcel has powerful Excel processing capabilities and has been downloaded millions of times on packagist. However, to be honest, the processing speed of excel is still very slow, so be careful when using large amounts of data. use. After downloading from packagist or directly using composer require phpoffice/phpexcel, you can use phpexcel.
Export to Excel
In most cases, exporting to excel is actually converting a two-digit array into a table.
Use namespace PHPExcel;
/**
        * @param $name string The name of the Excel to be saved
      * @param $ret_data Converted into a two-dimensional array of tables
      * @throws PHPExcel_Exception
       * @throws PHPExcel_Reader_Exception
    */
function exportExcel($name, $ret_data){
$objPHPExcel = new PHPExcel();
//Set the table
$objPHPExcel->getProperties()- > ;setCreator($name)
                                                                                                                                                                                                              007 Test document for Office 2007 foreach ($ret_data as $key => $row) {
                                                                                                                                            using   using using using          through using         through using ’ ’s ’ through through using ’ through ’s ’ through ‐ to ‐ ‐‐‐‐‐ as $key => $row)                                                                            ) {
                  $objPHPExcel->setActiveSheetIndex(0)->setCellValue( Cell::stringFromColumnIndex($i). ($num), $value2);                                                                                                                                                                        //Set the table and output
          $objPHPExcel->getActiveSheet()->setTitle($name);
       header('Content-Type: application/vnd.ms-excel');
      header("Content-Disposition: attachment;filename={$ name}.xls");
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header('Last-Modified: ' . gmdate ('D, d M Y H:i:s') . ' GMT');
       header('Cache-Control: cache, must-revalidate');
        header('Pragma: public'); // HTTP/1.0
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); Excel's data is converted into a two-dimensional array, which requires Excel to comply with the format.
function getRows($inputFileName)
                                                                                                                                                                                $inputFileType = PHPExcel_IOFactory::identify($inputFileName);
        $objReader = PHPExcel_IOFactory::createReader($inputFileType);
        $objPHPExcel = $objReader->load($inputFileName);
        $objWorksheet = $objPHPExcel->getActiveSheet();
        $highestRow = $objWorksheet->getHighestRow();
        $highestColumn = $objWorksheet->getHighestColumn();
        $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数
        $row = 1;
        $curr = array();
        while ($row <= $highestRow) {
            for ($col = 0; $col < $highestColumnIndex; $col++) {
                $value = str_replace(array("n", "nr", "r"), "", $objWorksheet->getCellByColumnAndRow($col, $row)->getValue());
                $curr[$row][] = $value;
            }
            $row++;
        }
        array_shift($curr);//第一行一般是字段名(Excel中列的标题),导入时要移除
        return $curr;
}
其他
导出时保存的格式是xlsx,想要改成其他格式需要传入不同的参数。
导入时如果有多个sheet时需要在上次打开时在要导入的sheet页(以保证当前sheet为activeSheet)关闭,或者根据sheet名在程序中选择sheet。

以上就介绍了php读写excel php处理Excel步骤介绍,包括了php读写excel方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn