Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx

1.1. Excel的保存格式office2003 office2007/2010格式1

1.2. 类库选型java .net均有apache.poi 可用,php使用phpexcel1.8.01

1.3. 需要解决的问题2

1.4. 自定义类库atiexcel2

1.5. Excel导出的流程细节--导出表头2

1.6. Excel导出的流程细节--导出数据2

1.7. Phpexcel与poi的差异3

1.1. Excel的保存格式office2003 office2007/2010格式

旧版office系列采用Office2003的保存格式,实质是一种二进制复合文档存储格式,目前已经被废弃。。

和旧版的 Office(Office 97、2000、XP、2003)相比,常见格式的 Office 文档文件的扩展名后都增加了一个 X,例如 Word 文档的 .DOC 格式变成了 .DOCX 格式、Excel 电子表格的 .XLS 格式变成了 .XLSX 格式,等等

OpenXML(OOXML)是微软在Office 2007中提出的一种新的文档格式,Office 2007中的Word、Excel、PowerPoint默认均采用OpenXML格式 。

新版的office系列均采用zip+ooxml格式存储

目前最新版本的office2016系列底层使用的存储格式仍然是office2007/2010格式。。

1.2. 类库选型java .net均有apache.poi 可用,php使用phpexcel1.8.0

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

1.3. 需要解决的问题

需要可以把list<map>数据保存为excel。。

需要可以绑定list<map的表头映射表。。

Java php .net版本api统一性

1.4. 自定义类库atiexcel

开源的为了灵活性,提供api过于琐碎,导致开发效率不足。。需要做进一步的封装。。

1.5. Excel导出的流程细节--导出表头

function addLine($objPHPExcel,$line,$lineNum,$isFirstTitle=false){

//$line=$list[0];

$keys=array_keys($line);

$alphas_str="a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t";

$alphas=explode(",",$alphas_str);

$sheet=$objPHPExcel->setActiveSheetIndex(0);

$i=0;

//print_r( $keys );die();

foreach($keys as $key)

{

$alp=$alphas[$i];

//die($alp);

if($isFirstTitle)

$cell= $key;

else

$cell=$line[ $key];

$sheet->setCellValue($alp.$lineNum,$cell );

$i++;

}

}

1.6. Excel导出的流程细节--导出数据

导出数据基本与导出表头api一直,只是数据cell取值不同,,表头方式是取row的key,数据方式是需要row的value。。

1.7. Phpexcel与poi的差异

Phpexcel直接操作cell,使用a1,b2定位cell方式,poi需要先找到row,比较繁琐一些。。

参考

PHP操作Excel – PHPExcel 基本用法详解 - diandian_520的专栏 - 博客频道 - CSDN.NET.html

Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc的更多相关文章

  1. 用SpringMvc实现Excel导出功能

    以前只知道用poi导出Excel,最近用了SpringMvc的Excel导出功能,结合jxl和poi实现,的确比只用Poi好,两种实现方式如下: 一.结合jxl实现: 1.引入jxl的所需jar包: ...

  2. excel导出功能优化

    先说说优化前,怎么做EXCEL导出功能的: 1. 先定义一个VO类,类中的字段按照EXCEL的顺序定义,并且该类只能用于EXCEL导出使用,不能随便修改. 2. 将查询到的结果集循环写入到这个VO类中 ...

  3. 利用Aspose.Cells完成easyUI中DataGrid数据的Excel导出功能

    我准备在项目中实现该功能之前,google发现大部分代码都是利用一般处理程序HttpHandler实现的服务器端数据的Excel导出,但是这样存在的问题是ashx读取的数据一般都是数据库中视图的数据, ...

  4. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  5. excel导出功能原型

    本篇博客是记录自己实现的excel导出功能原型,下面我将简单介绍本原型: 这是我自制的窗体,有一个ListView和一个Button(导出)控件. 这是我在网上找到了使用exel需要引用的库. usi ...

  6. java利用EasyPoi实现Excel导出功能

    easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言( ...

  7. 使用NPOI实现简单的Excel导出功能

    [1]NPOI是啥? NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作. POI是一个开源的Java读写Excel. ...

  8. asp.net excel导出功能

    以下是我在项目开发中所做的关于Excel导出功能,不足之处还望大家指正,相互学习 protected void btn_Export_Click(object sender, EventArgs e) ...

  9. Delphi实现带有格式的Excel导出功能

    功能预览 运行预览 模板样式 存储返参 导出的Excel 2. 代码实现 //执行sql的函数 procedure TForm1.GetReportData(astrsql:string); var ...

随机推荐

  1. sql语句中获取datetime的日期部分或时间部分

    sql语句中获取datetime的日期部分 sql语句中 经常操作操作datetime类型数据.今天在写一个存储过程的时候需要将 一个datetime的值的 日期部分提取出来.网上有许多这方面的介绍. ...

  2. seajs模块化开发

    seajs是一个起辅助作用的库,所以它可以更方便开发,而它可以解决以下问题: 1.命名问题,就是冲突 2.性能问题,就是只要一个功能,但却使用一个大插件中的一个小功能,所以要手动拆分出这个功能 3.j ...

  3. 强制SQL Server执行计划使用并行提升在复杂查询语句下的性能

        最近在给一个客户做调优的时候发现一个很有意思的现象,对于一个复杂查询(涉及12个表)建立必要的索引后,语句使用的IO急剧下降,但执行时间不降反升,由原来的8秒升到20秒.     通过观察执行 ...

  4. Unity 产生各不相同的随机数

    1. 网上很多方法都说用时间种子来解决,但是在极短的时间内,这种方法没效 Random r = new Random(DateTime.Now.Millisecond); Random Counter ...

  5. WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: Scr ...

  6. MYSQL数据表建立外键

    MySQL创建关联表可以理解为是两个表之间有个外键关系,但这两个表必须满足三个条件1.两个表必须是InnoDB数据引擎2.使用在外键关系的域必须为索引型(Index)3.使用在外键关系的域必须与数据类 ...

  7. 如何线程安全地遍历List:Vector、CopyOnWriteArrayList

    遍历List的多种方式 在讲如何线程安全地遍历List之前,先看看通常我们遍历一个List会采用哪些方式. 方式一: for(int i = 0; i < list.size(); i++) { ...

  8. 使用Ambari安装hadoop集群

    最近需要做些spark的工作,所以弄了几台dell7500就这么准备开始搭建集群,之前用过几台更破的台式机搭建过一次,折腾了半个月之久,终于成功搭建,这次不想走老路,所以网上查了一下,发现一个神器AM ...

  9. spring源码分析之spring jmx

    JMX架构定义: https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/overview/architecture.html Archi ...

  10. 使用Html5+C#+微信 开发移动端游戏详细教程: (四)游戏中层的概念与设计

    众所周知,网站的前端页面结构一般是由div组成,父div包涵子div,子div包涵各种标签和项, 同理,游戏中我们也将若干游戏模块拆分成层,在后续的代码维护和游戏程序逻辑中将更加清晰和便于控制. We ...