- 本文章实例基于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都要设置一下。
- 临时解决办法:修改文件属性
【PHP】关于PHPExcel文件导入与导出
【PHP】身份证静态验证函数
/**
* 验证身份证
* @param $vStr
* @return bool
*/
protected function checkIdCard($vStr)
{
$vCity = [
'11', '12', '13', '14', '15', '21', '22',
'23', '31', '32', '33', '34', '35', '36',
'37', '41', '42', '43', '44', '45', '46',
'50', '51', '52', '53', '54', '61', '62',
'63', '64', '65', '71', '81', '82', '91',
];
if (!preg_match('/^([\d]{17}[xX\d]|[\d]{15})$/', $vStr))
return false;
if (!in_array(substr($vStr, 0, 2), $vCity))
return false;
$vStr = preg_replace('/[xX]$/i', 'a', $vStr);
$vLength = strlen($vStr);
if ($vLength == 18) {
$vBirthday = substr($vStr, 6, 4) . '-' . substr($vStr, 10, 2) . '-' . substr($vStr, 12, 2);
} else {
$vBirthday = '19' . substr($vStr, 6, 2) . '-' . substr($vStr, 8, 2) . '-' . substr($vStr, 10, 2);
}
if (date('Y-m-d', strtotime($vBirthday)) != $vBirthday)
return false;
if ($vLength == 18) {
$vSum = 0;
for ($i = 17; $i >= 0; $i--) {
$vSubStr = substr($vStr, 17 - $i, 1);
$vSum += (pow(2, $i) % 11) * (($vSubStr == 'a') ? 10 : intval($vSubStr, 11));
}
if ($vSum % 11 != 1)
return false;
}
return true;
}
-
最新文章
分類
- Linux CentOS (3)
- Symfony (5)
- ThinkPHP (4)
- 未分類 (9)
彙整
其它