一.导入

 ini_set('memory_limit', '512M');
require_once(Kohana::find_file('vendor', 'PHPExcel/PHPExcel/IOFactory'));
$xls = $_FILES['xls']['tmp_name'];
$error_msgs = array();
if ($xls) {
$type = pathinfo($_FILES['xls']['name'], PATHINFO_EXTENSION);
if ($type == 'xlsx' || $type == 'xls') {
$objPHPExcel = PHPExcel_IOFactory::load($xls);
} else if ($type == 'csv') {
$objReader = PHPExcel_IOFactory::createReader('CSV')
->setDelimiter(',')
->setInputEncoding('GBK')//不设置将导致中文列内容返回boolean(false)或乱码
->setEnclosure('"')
->setLineEnding("\r\n")
->setSheetIndex(0);
$objPHPExcel = $objReader->load($xls);
}
$objWorkSheet = $objPHPExcel->getActiveSheet();
$maxRow = $objPHPExcel->getActiveSheet()
->getHighestRow();
$maxCol = $objPHPExcel->getActiveSheet()
->getHighestColumn();
if ($maxCol == 'J') {
for ($row = 2; $row <= $maxRow; $row++) {
for ($col = 0; $col < 10; $col++) {
$val = $objWorkSheet->getCellByColumnAndRow($col, $row)
->getValue();
$data[$row][$col] = trim($val);
}
}
} 二,导出
//下载模板
public function action_download_temp()
{
require_once(Kohana::find_file('vendor', 'PHPExcel/PHPExcel/IOFactory'));
$this->objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
->setCreator("newerp")
->setLastModifiedBy("newerp")
->setTitle("Office 2003 XLSX Test Document")
->setSubject("Office 2003 XLSX Test Document")
->setDescription("Test document for Office 2003 XLSX, generated using PHP classes.")
->setKeywords("office 2003 openxml php")
->setCategory("Test result file");
$objActSheet = $objPHPExcel->setActiveSheetIndex(0);
$objActSheet->setCellValue('A1', '名称');
$objActSheet->setCellValue('B1', '联系人');
$objActSheet->setCellValue('C1', '联系电话');
$objActSheet->setCellValue('D1', 'QQ');
$objActSheet->setCellValue('E1', '其他IM');
$objActSheet->setCellValue('F1', 'Email');
$objActSheet->setCellValue('G1', '地址');
$objActSheet->setCellValue('H1', '邮编');
$objActSheet->setCellValue('I1', '传真');
$objActSheet->setCellValue('J1', '网址');
$objActSheet->setCellValue('K1', '经营范围');
$objActSheet->setCellValue('L1', '押金');
$objActSheet->setCellValue('M1', '备注');
$objActSheet->setCellValue('N1', '排序');
$objActSheet->setCellValue('O1', '助记码'); $objPHPExcel->getActiveSheet()
->setTitle('load');
$objPHPExcel->setActiveSheetIndex(0);
$day = date("m-d");
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header('Content-Disposition: attachment;filename="' . $day . '平台汇总表.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}

kohana导入和导出的更多相关文章

  1. C# Excel导入、导出【源码下载】

    本篇主要介绍C#的Excel导入.导出. 目录 1. 介绍:描述第三方类库NPOI以及Excel结构 2. Excel导入:介绍C#如何调用NPOI进行Excel导入,包含:流程图.NOPI以及C#代 ...

  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入

    系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...

  3. Hawk 5.1 数据导入和导出

    除了一般的数据库导入导出,Hawk还支持从文件导入和导出,支持的文件类型包括: Excel CSV(逗号分割文本文件) TXT (制表符分割文本文件) Json xml Excel 目前来看,Exce ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出

    系列目录 昨天文章太过仓促没有补充导出的示例源码,在者当时弄到到很晚没时间做出导出功能,对阅读理解造成影响,现补充一份示例源码,顺便补充导出的功能说明,望理解 示例代码下载   https://yun ...

  5. 萌新笔记——C++里创建 Trie字典树(中文词典)(二)(插入、查找、导入、导出)

    萌新做词典第二篇,做得不好,还请指正,谢谢大佬! 做好了插入与遍历功能之后,我发现最基本的查找功能没有实现,同时还希望能够把内存的数据存入文件保存下来,并可以从文件中导入词典.此外,数据的路径是存在配 ...

  6. [转]Java中导入、导出Excel

    原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...

  7. Oracle 文件的导入与导出

    说明:本机使用的是32位oracle,使用的方法是plsql导入与导出 1.导出数据步骤. 1)登陆上plsql后在工具里选择导出用户对象,选择上所有的表在选择保存的路径.点击导出就可以了. 2)上边 ...

  8. 数据分析(7):pandas介绍和数据导入和导出

    前言 Numpy Numpy是科学计算的基础包,对数组级的运算支持较好 pandas pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数.pandas兼具Numpy高性能的数组计 ...

  9. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)

    ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...

随机推荐

  1. (转载)Navicat Premium 12.1.16.0安装与激活

    声明:本文所提供的所有软件均来自于互联网,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 本文介绍Navicat Premium 12的安装.激活与基本使用.已于20 ...

  2. HDU 5649 DZY Loves Sorting(二分答案+线段树/线段树合并+线段树分割)

    题意 一个 \(1\) 到 \(n\) 的全排列,\(m\) 种操作,每次将一段区间 \([l,r]\) 按升序或降序排列,求 \(m\) 次操作后的第 \(k\) 位. \(1 \leq n \le ...

  3. ExceptionLogger

    应用1:webconfig.cs中设置 public static class WebApiConfig { public static void Register(HttpConfiguration ...

  4. VHDL 例程

    以下程序未经仿真,仅供说明 语法 声明参考库ieee,使用ieee中的std_logic_1164包全部条目可见 library ieee; use ieee.std_logic_1164.all; ...

  5. git服务器搭建全程

    为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具 [root@VM_95_113_centos ~]# yum install curl-devel expat-devel gettext ...

  6. JMeter中关于动态切换不同CSV文件解决方案

    最近写case,需要当前播放节目的数据作为输入数据,所以每个时刻所用的数据只能是当前时刻附件的数据,尝试用CSV Data Set Config动态加载不同的文件,没有成功,好像CSV Data Se ...

  7. C#深入多线程

    主线程: th = Thread.CurrentThread; //现在的线程为主线程 th.Name = "MainThread"; //set线程名字:主线程本身没有名字 th ...

  8. 【Ruby】【遇到的问题】

    1 Error fetching https://gems.ruby-china.org/: certificate verify failed (https://gems.ruby-china.or ...

  9. ajax 怎么重新加载页面

    $.ajax({ type:"post", url:url, data:{xxx:xx}, dataType: "json", success : functi ...

  10. nodejs项目安装ant design

    1.确保安装好nodejs $ node --version v10.4.1 2.确保npm $ npm -v 6.1.0 3.安装 $ sudo npm install antd-init -g / ...