- 本文章实例基于Thinkphp5框架,部分函数自行适当修改
- PHPExcel导入(Excel5)
/** * 上传Excel文件,并遍历数组 * @return mixed 输出前端页面 */ public function index() { if ($file = request()->file('fileUpload')) { // 移动到框架应用根目录/public/uploads/ 目录下 move("保存地址","保存名称") $info = $file->validate(['ext' => 'xls'])->move(ROOT_PATH . 'public' . DS . 'uploads', date('YmdHis')); if ($info) { //加载PHPExcel类,解析表格,结果为二维数组 import('PHPExcel.Classes.PHPExcel', '', '.php'); $object = new \PHPExcel_Reader_Excel5(); // $file_name = '/public/uploads/' . $file_name; // $file_name = iconv("utf-8", "gb2312",$file_name); $objPHPExcel = $object->load($info->getPathname()); $ExcelData = $objPHPExcel->getActiveSheet()->toArray('', true, true, true); //验证Excel第2行($ExcelData[2])非空列数 // if (count(array_filter($ExcelData[2])) != 8) // $this->error('订单字段不正确,请参照模板'); //输出实例 print_r('<pre>'); print_r($ExcelData); } else { // 上传失败获取错误信息 $this->error($file->getError()); } }else{ return '<body><form action="" method="post" enctype="multipart/form-data"><input type="file" name="fileUpload" /><input type="submit" value="上传Excel文件" /></form></body>'; } }
- PHPExcel导出(Excel5)
/** * 乘法口诀表 * @return mixed */ public function index() { $objPHPExcel = new \PHPExcel(); $row_array = [1, 2, 3, 4, 5, 6, 7, 8, 9]; $column_array = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']; $column = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', "I", 'J']; /* * setCellValue(列ABC . 行123, "字段") * 注意垃圾Excel从1开始数 */ /* * 头部 */ $objPHPExcel->getActiveSheet()->setCellValue($column[0] . '1', "\\"); foreach ($column_array as $key=>$value) { $objPHPExcel->getActiveSheet()->setCellValue($column[$key+1] . '1', $value); }; /* * 主体 */ $row = 2; //第二行开始 foreach ($row_array as $number) { //每行 $objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $number); foreach ($column_array as $key => $value) { //这一行的每列,第二列开始 $objPHPExcel->getActiveSheet()->setCellValue($column[$key+1] . $row, ($key+1) * $number); }; $row++; //下一行 } // 输出Excel表格到浏览器下载 ob_end_clean(); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="abc.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 $objIOFactory = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); return $objIOFactory->save('php://output'); }
- 出于版权保护的考虑,如果在Word 2010中打开从网络上下载的文档,Word 2010会自动处于保护模式下,默认禁止编辑,想修改必须点击一下启用编辑(Enble Editing)。
- 原因分析:由于office 2010的一些新功能造成了这种情况。
- 临时解决办法:修改文件属性
选择需要打开的文件,点右键属性里面选择”解除锁定”,然后确定后。即可正常打开了。 - 彻底解决办法:修改选项配置
进入文件菜单中的选项->信任中心->点信任中心设置然后点受保护的视图,把右边的所有钩上的内容都不钩,最后保存退出即可。
Word/Excel都要设置一下。
- 临时解决办法:修改文件属性
-
最新文章
分類
- Linux CentOS (3)
- Symfony (5)
- ThinkPHP (4)
- 未分類 (9)
彙整
其它