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. ...
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.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:[email protected]
轉載請註明來源: 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