/**
* 数组转xls格式的excel文件
* @param array $data 需要生成excel文件的数组
* @param string $filename 生成的excel文件名
* 示例数据:
$data = array(
array(NULL, 2010, 2011, 2012),
array('Q1', 12, 15, 21),
array('Q2', 56, 73, 86),
array('Q3', 52, 61, 69),
array('Q4', 30, 32, 0),
);
*/
function create_xls($data,$filename = 'simple.xls'){
ini_set('max_execution_time','0');
Vendor('PHPExcel.PHPExcel');
$filename = str_replace('.xls','',$filename) . '.xls';
$phpexcel = new PHPExcel();
$phpexcel->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");
$phpexcel->getActiveSheet()->fromArray($data);
$phpexcel->getActiveSheet()->setTitle('Sheet1');
$phpexcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.ms-excel');
header("Content-Disposition: attachment;filename=$filename");
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
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($phpexcel,'Excel5');
$objwriter->save('php://output');
exit;
}

导出的使用:

     //导出
public function create_xls() {
$industry_list = M('welfare')->field('welfare_name')->select();
$data = array();
array_push($data, array('福利名称'));
foreach ($industry_list as $key => $value) {
array_push($data, array($value['welfare_name']));
}
create_xls($data, '福利');
}

导入:

    //导入
public function upload_xls() {
$upload = new \Think\Upload();
$upload->maxSize = 3145728;
$upload->exts = array('xls', 'xlsx');
$upload->saveExt = 'xls';
$upload->rootPath = './Application/Upload/excel/';
$upload->autoSub = false;
$result = $upload->uploadOne($_FILES['xls_file']);
if (!$result) {
$this->error($upload->getError(), U('WelFare/welfare_list'));
} $data = import_excel($upload->rootPath . $result['savepath'] . $result['savename']);
delDirAndFile($upload->rootPath . $result['savepath']); $list = array();
unset($data[1]);
$i = 0; foreach ($data as $k => $v) {
$param = array();
$param['welfare_name'] = $v[0];
$info = M('welfare')->where($param)->find();
if ($info)
continue; $list[$i]['welfare_name'] = $v[0];
$i++;
} if ($i) {
M('welfare')->addAll($list);
$this->success('成功插入了' . $i . '条数据', U('WelFare/welfare_list'));
} else {
$this->error('插入了0条数据', U('WelFare/welfare_list'));
}
}

最新文章

  1. $.prop()和$.attr() 区别用法
  2. 实现统一用户体验的BaseActivity
  3. Linux5.5安装10g rac
  4. js数组操作
  5. 关于easyui的窗口和tab页面不执行js说明
  6. YanYan Self Introduction
  7. js获取和设置DOM样式函数cssStyle(类似于jquery的$(elem).css())
  8. GOOGLE 离线完整安装包下载地址
  9. SSD论文优秀句子
  10. xcode 中添加pch文件
  11. 低压差稳压器AMS1585
  12. hdu 5584 LCM Walk(数学推导公式,规律)
  13. JS的事件绑定、事件流模型
  14. 深度学习梯度反向传播出现Nan值的原因归类
  15. [Codeforces896C] Willem, Chtholly and Seniorious (ODT-珂朵莉树)
  16. openjudge noi 买房子
  17. VS2015和SVN合作
  18. Java Mail 发送邮件(SSL加密方式,TSL加密方式)
  19. AORUS GA-Z270X-Gaming 5開箱
  20. 深入浅出HTTPS工作原理(转载)

热门文章

  1. Ubuntu系统安装wxPython问题
  2. Django ORM查询结果是model对象
  3. Keil5新建STM32工程(库函数版本)
  4. 1043 Is It a Binary Search Tree (25分)(树的插入)
  5. python--爬虫(XPath与BeautifulSoup4)
  6. php--一些有用的Laravel辅助函数
  7. 如何设置微信小程序顶部标题
  8. python 函数--递归函数
  9. ubuntu18.04配置宽带上网
  10. Jdk 和 jre 的 关系和区别