Rumah pembangunan bahagian belakang tutorial php (进阶篇)使用PHP导入Excel和导出数据为Excel文件

(进阶篇)使用PHP导入Excel和导出数据为Excel文件

Feb 07, 2017 am 09:38 AM

有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入。

1、导入XLS

PHP-ExcelReader这是一个开源的项目,主要是来解析excel的文件,您可以到http://sourceforge.net/projects/phpexcelreader获取最新版的源码。下载之后解压,主要用到excel文件夹里面的两个文件reader.php和oleread.inc。

导入Xls处理流程:选择xls文件->上传xls文件到服务器->通过PHP-ExcelReader解析excel->批量入库。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

include_once("excel/reader.php"); //引入PHP-ExcelReader

$tmp = $_FILES['file']['tmp_name'];

if (empty ($tmp)) {

    echo '请选择要导入的Excel文件!';

    exit;

}

      

$save_path = "xls/";

$file_name = $save_path.date('Ymdhis') . ".xls"; //上传后的文件保存路径和名称

if (copy($tmp, $file_name)) {

    $xls = new Spreadsheet_Excel_Reader();

    $xls->setOutputEncoding('utf-8');  //设置编码

    $xls->read($file_name);  //解析文件

    for ($i=2; $i<=$xls->sheets[0]['numRows']; $i++) {

        $name = $xls->sheets[0]['cells'][$i][0];

        $sex = $xls->sheets[0]['cells'][$i][1];

        $age = $xls->sheets[0]['cells'][$i][2];

        $data_values .= "('$name','$sex','$age'),";

    }

    $data_values = substr($data_values,0,-1); //去掉最后一个逗号

    $query = mysql_query("insert into student (name,sex,age) values $data_values");//批量插入数据表中

    if($query){

        echo '导入成功!';

    }else{

        echo '导入失败!';

    }

}

Salin selepas log masuk

PHP-ExcelReader读取上传的excel文件后,返回一个数组,里面包含了表格的所有信息,你可以循环获取需要的信息。

2、导出XLS

导出XLS流程:读取学生信息表->循环记录构建制表符分隔的字段信息->设置header信息->导出文件(下载)到本地

1

2

3

4

5

6

7

8

9

10

$result = mysql_query("select * from student");

$str = "姓名\t性别\t年龄\t\n";

$str = iconv('utf-8','gb2312',$str);

while($row=mysql_fetch_array($result)){

    $name = iconv('utf-8','gb2312',$row['name']);

    $sex = iconv('utf-8','gb2312',$row['sex']);

    $str .= $name."\t".$sex."\t".$row['age']."\t\n";

}

$filename = date('Ymd').'.xls';

exportExcel($filename,$str);

Salin selepas log masuk

exportExcel函数用于设置header信息。

1

2

3

4

5

6

7

8

9

10

11

12

function exportExcel($filename,$content){

     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

    header("Content-Type: application/vnd.ms-execl");

    header("Content-Type: application/force-download");

    header("Content-Type: application/download");

    header("Content-Disposition: attachment; filename=".$filename);

    header("Content-Transfer-Encoding: binary");

    header("Pragma: no-cache");

    header("Expires: 0");

  

    echo $content;

}

Salin selepas log masuk

此外,关于导入和导出Excel,还可以使用PHPExcel,这个非常强大,大家有空可以去研究,官方网站:http://www.codeplex.com/PHPExcel 导入导出都成,可以导出office2007格式,同时兼容2003

以上就是(进阶篇)使用PHP导入Excel和导出数据为Excel文件的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Tarikh dan Masa CakePHP

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Muat naik Fail CakePHP

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Penghalaan CakePHP

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

Bincangkan CakePHP

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

Panduan Ringkas CakePHP

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Konfigurasi Projek CakePHP

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP

See all articles