Home > Backend Development > PHP Tutorial > Use PHPExcel to operate excel (xls) files in php_PHP tutorial

Use PHPExcel to operate excel (xls) files in php_PHP tutorial

WBOY
Release: 2016-07-13 10:19:06
Original
849 people have browsed it

Use PHPExcel in php to operate excel (xls) files

PHPExcel is a plug-in for php. It can read excel files, which are xls files. Let’s take a look. An example of PHPExcel operating excel (xls) file, I hope it can help you.

There will be problems in reading Chinese xls and csv files. I searched for information online and found that the PHPExcel class library is easy to use. 1. Read the content of xls files

The code is as follows

//Write content to xls file
​ error_reporting(E_ALL);
ini_set('display_errors', TRUE);
Include 'Classes/PHPExcel.php'; Include 'Classes/PHPExcel/IOFactory.php';
//$data:xls file content text
//$title:xls file content title
//$filename: Exported file name
//$data and $title must be in utf-8 code, otherwise the FALSE value will be written
Function write_xls($data=array(), $title=array(), $filename='report'){
           $objPHPExcel = new PHPExcel();
                     //Set document properties, setting Chinese will produce garbled characters, to be improved...
// $objPHPExcel->getProperties()->setCreator("Yunshu")
// ->setLastModifiedBy("Yunshu")
/ -& gt; settitle ("Product URL Export")
// ->setSubject("Product URL Export")
// ->setDescription("Product URL Export")
// -& gt; setKeywords ("Product URL Export");
$objPHPExcel->setActiveSheetIndex(0);
                                                 ​​​​ $cols = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
//Set www.111cn.net title
for($i=0,$length=count($title); $i<$length; $i++) {
//echo $cols{$i}.'1';
$objPHPExcel->getActiveSheet()->setCellValue($cols{$i}.'1', $title[$i]);
}
//Set title style
          $titleCount = count($title);
          $r = $cols{0}.'1';
           $c = $cols{$titleCount}.'1';
           $objPHPExcel->getActiveSheet()->getStyle("$r:$c")->applyFromArray(
array(
‘font’ => array(
                    'bold'      => true
                ),
                'alignment' => array(
                    'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT,
                ),
                'borders' => array(
                    'top'     => array(
                        'style' => PHPExcel_Style_Border::BORDER_THIN
                    )
                ),
                'fill' => array(
                    'type'       => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
                    'rotation'   => 90,
                    'startcolor' => array(
                        'argb' => 'FFA0A0A0'
                    ),
                    'endcolor'   => array(
                        'argb' => 'FFFFFFFF'
                    )
                )
            )
        );
        
        $i = 0;
        foreach($data as $d) {  //这里用foreach,支持关联数组和数字索引数组
            $j = 0;
            foreach($d as $v) {   //这里用foreach,支持关联数组和数字索引数组
                $objPHPExcel->getActiveSheet()->setCellValue($cols{$j}.($i+2), $v);
                $j++;
            }
$i++;
        }
        // 生成2003excel格式的xls文件
        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');
}
$array = array(
array(1111,'name','brand','trade name','http://www.baidu.com'),
array(1111,'name','brand','trade name','http://www.baidu.com'),
array(1111,'name','brand','trade name','http://www.baidu.com'),
array(1111,'name','brand','trade name','http://www.baidu.com'),
array(1111,'name','brand','trade name','http://www.baidu.com'),
);
​​ write_xls($array,array('commodity id','supplier name','brand','commodity name','URL'),'report');
 
?>

2. Write content to xls file

 代码如下  
//获取数据库数据(mysqli预处理学习)
$config = array(
'DB_TYPE'=>'mysql',
        'DB_HOST'=>'localhost',
        'DB_NAME'=>'test',
        'DB_USER'=>'root',
        'DB_PWD'=>'root',
        'DB_PORT'=>'3306',
    );
    function getProductIdByName($name) {
        global $config;
        $id = false;
        
        $mysqli = new mysqli($config['DB_HOST'], $config['DB_USER'], $config['DB_PWD'], $config['DB_NAME']);
        if(mysqli_connect_error()) {   //兼容 < php5.2.9 OO way:$mysqli->connect_error
            die("连接失败,错误码:".mysqli_connect_errno()."错误信息:".mysqli_connect_error());
        }
        //设置连接数据库的编码,不要忘了设置
        $mysqli->set_charset("gbk");
        //中文字符的编码要与数据库一致,若没设置,结果为null
        $name = iconv("utf-8", "gbk//IGNORE", $name);
        if($mysqli_stmt = $mysqli->prepare("select id from 137_product where name like ?")) {
            $mysqli_stmt->bind_param("s", $name);
            $mysqli_stmt->execute();
            $mysqli_stmt->bind_result($id);
            $mysqli_stmt->fetch();
            $mysqli_stmt->close();
        }
        $mysqli->close(); 
        return $id;   //得到的是gbk码(同数据库编码)
    }   
    $id = getProductIdByName('%伊奈卫浴伊奈分体座便器%');
    var_dump($id);
?>

OK...

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/878454.htmlTechArticleUsing PHPExcel in php to operate excel (xls) files PHPExcel is a plug-in for php, which can read excel files It is an xls file. Let’s take a look at a PHPExcel operation excel (xl...
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template