php excel文件上传,PHP使用PHPExcel上传下载Excel文件

1、生成Excel并下载<?php

include "./PHPExcel-1.8/Classes/PHPExcel/IOFactory.php";

// Create new PHPExcel object

$objPHPExcel = new PHPExcel();

// Set document properties

$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");

// Add some data

$objPHPExcel->setActiveSheetIndex(0);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'ID');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B1', '微信OpenID');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1', '昵称');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D1', '性别');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E1', '国家');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F1', '省份');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('G1', '城市');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('H1', '场景');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('I1', '标签');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('J1', '头像');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('K1', '关注时间');

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A2', 1111);

/*for ($i = 0; $i < count($result); $i++) {

$j = $i + 2;

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $j, $result[$i]['id']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B' . $j, $result[$i]['openid']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C' . $j, $result[$i]['nickname']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D' . $j, $result[$i]['sex']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E' . $j, $result[$i]['country']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F' . $j, $result[$i]['province']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('G' . $j, $result[$i]['city']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('H' . $j, $result[$i]['scene']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('I' . $j, $result[$i]['tagid']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('J' . $j, $result[$i]['headimgurl']);

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('K' . $j, date("Y-m-d H:i:s", $result[$i]['subscribe']));

}*/

// Rename worksheet

$objPHPExcel->getActiveSheet()->setTitle('userlist');

// Set active sheet index to the first sheet, so Excel opens this as the first sheet

$objPHPExcel->setActiveSheetIndex(0);

ob_end_clean(); //解决乱码核心

// Redirect output to a client’s web browser (Excel2007)

$filename = date("YmdHis", time());

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

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

header('Cache-Control: max-age=0');

// If you're serving to IE 9, then the following may be needed

header('Cache-Control: max-age=1');

// If you're serving to IE over SSL, then the following may be needed

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past

header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified

header('Cache-Control: cache, must-revalidate'); // HTTP/1.1

header('Pragma: public'); // HTTP/1.0

// $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

$objWriter->save('php://output');

2、上传Excel文件<?php

header("Content-type: text/html; charset=utf-8");

include "./PHPExcel-1.8/Classes/PHPExcel.php";

// var_dump($_FILES);

if (@is_uploaded_file($_FILES['upfile']['tmp_name'])) {

$upfile = $_FILES["upfile"]; //获取数组里面的值

$name = $upfile["name"]; //上传文件的文件名

$type = $upfile["type"]; //上传文件的类型

$size = $upfile["size"]; //上传文件的大小

$tmp_name = $upfile["tmp_name"]; //上传文件的临时存放路径

$dirname = 'uploads/';

if(!is_dir($dirname)){//判断有没有这个文件夹

mkdir($dirname);//新建文件夹

}

$file_name = __DIR__ . '/uploads/' . $name;

move_uploaded_file($tmp_name, $file_name); //将上传到服务器临时文件夹的文件重新移动到新位置

$error = $upfile["error"]; //上传后系统返回的值

if ($error == 0) {

echo "文件上传成功啦!
";

} else {

echo "上传失败";

}

// print($file_name);

$objReader = \PHPExcel_IOFactory::createReader('Excel5'); //创建读取实例

/*

* log()//方法参数

* $file_name excel文件的保存路径

*/

$objPHPExcel = $objReader->load($file_name, $encode = 'utf-8'); //加载文件

$sheet = $objPHPExcel->getSheet(0); //取得sheet(0)表

$highestRow = $sheet->getHighestRow(); // 取得总行数

$highestColumn = $sheet->getHighestColumn(); // 取得总列数

// 获取excel文件的数据,$row=1代表从第一行开始获取数据

for ($row = 1; $row <= $highestRow; $row++) {

// Read a row of data into an array

$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false);

//这里得到的rowData都是一行的数据,得到数据后自行处理,我们这里只打出来看看效果

echo '

';

print_r($rowData);

}

unlink($file_name);//删除文件

echo '重新上传';

}else{

?>

上传文件:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值