Excel 解压后 结构

/**
* author : WiKiChen
* date: 2016-03-15
*/
* 2007 后的excel 可以把后缀名改为zip,然后解压目录如下
* _rels 
*docProps
*xl

*[Content_Types].xml

相关文章

http://www.cnblogs.com/liuzhendong/p/3170836.html
http://blog.csdn.net/fullsail/article/details/4067416


* 本文重点介绍xl文件o夹
*内部目录为:
_rels
  |__workbook.xml.rels
  
drawings
  |__ _rels
  |     |_drawing1.xml.rels drawing2.xml.rels 存放对应图片ID对应的路径
  |__ drawing1.xml drawing2.xml 存放对应的图片信息,<xdr:from> 图片存放开始位置,<xdr:to> 结束位置, <a:blip r:embed="rId1" > 图片名称ID
  
media
  |__  image1.png image2.png ... 图片文件
  
printerSettings   忽略

theme
  |__ 各种主题
  
worksheets
  |__  _rels
  |      |__ sheet1.xml.rels sheet2.xml.rels ... 和printer.bin相关
  |__  sheet1.xml sheet2.xml ... sheet对应的内容,就是单元格的内容
  
sharedStrings.xml  存放共享字符串 数据 。。

styles.xml 描述了每个单元格的样式

workbook.xml 总体描绘了所有sheet的基本信息,name

********************************************************************
sheet.xml
********************************************************************
EG 1:
*** 位置r="C4",t="s" 表示是shareString.xml中的字符串 第76个(从0开始),s="16" 表示是styles.xml中第16个样式,从0开始
<c r="C4" t="s" s="16">  
<v>76</v>
</c>

EG 2:
** 使用默认样式0, 值 直接就是 73
<c r="A17" >
<v>73</v>
</c>

********************************************************************
shareString.xml
********************************************************************
EG 1:
** 第N个 替换值 ,值为test,N,为从上到下从0开始第N组 《si》
<si>
<t>test</t>
<phoneticPr type="noConversion" fontId="1"/>
</si>    
     
********************************************************************
styles.xml
********************************************************************  
EG 1: 
** 总共7组单元格格式 numFmt 
<numFmts count="7">
<numFmt formatCode="yyyy"年"m"月"d"日";@" numFmtId="176"/>
<numFmt formatCode="_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_ " numFmtId="43"/>
<numFmt formatCode="0.00_);[Red]\(0.00\)" numFmtId="177"/>
<numFmt formatCode="_ "¥"* #,##0.00_ ;_ "¥"* \-#,##0.00_ ;_ "¥"* "-"??_ ;_ @_ " numFmtId="44"/>
<numFmt formatCode="_ "¥"* #,##0_ ;_ "¥"* \-#,##0_ ;_ "¥"* "-"_ ;_ @_ " numFmtId="42"/>
<numFmt formatCode="_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_ " numFmtId="41"/>
<numFmt formatCode=""¥"#,##0.00_);[Red]\("¥"#,##0.00\)" numFmtId="178"/>
</numFmts>

EG 2:
**  单元格样式 边框 字体 加保护 对齐 等等
<cellStyleXfs count="2">
<xf numFmtId="0" borderId="0" fillId="0" fontId="0">
<alignment vertical="center"/>
</xf>
<xf numFmtId="42" borderId="0" fillId="0" fontId="0" applyProtection="0" applyAlignment="0" applyBorder="0" applyFill="0" applyFont="0">
<alignment vertical="center"/>
</xf>
</cellStyleXfs>

EG 3:
**总五组样式 从0 -- 5, 对应sheet.xml中的s="*", 
<cellXfs count="5">
<xf numFmtId="0" borderId="0" fillId="0" fontId="0" xfId="0">
<alignment vertical="center"/>
</xf>
<xf numFmtId="177" borderId="0" fillId="0" fontId="0" applyNumberFormat="1" xfId="0">
<alignment vertical="center"/>
</xf>
<xf numFmtId="178" borderId="0" fillId="0" fontId="0" applyNumberFormat="1" xfId="0">
<alignment vertical="center"/>
</xf>
<xf numFmtId="176" borderId="0" fillId="0" fontId="0" applyNumberFormat="1" xfId="0">
<alignment vertical="center"/>
</xf>
<xf numFmtId="0" borderId="0" fillId="2" fontId="1" applyFill="1" applyFont="1" xfId="0">
<alignment vertical="center"/>
</xf>
</cellXfs>

例如
<c r="C4" t="s" s="1">  
<v>76</v>
</c>

s ="1",表示第二个样式,即numFmtId=“177”,此时可以去找<numFmts count="7">节点中的numFmtId="177"对应的项,可以知道是什么类型的数据;
找对应cellXfs节点的numFmtId 可以知道是那种样式
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 准备Excel文件和PHPExcel库 要将Excel表格导入到PHP中,首先需要准备好Excel文件和PHPExcel库。可以从官方网站下载最新版本的PHPExcel库,并将其解压到网站根目录下。 2. 读取Excel文件 使用PHPExcel库可以方便地读取Excel文件。下面是一个简单的PHP代码示例,用于读取Excel文件并将其存储为数组: // 引入PHPExcel库 require_once 'PHPExcel/IOFactory.php'; // 创建PHPExcel对象 $objExcel = PHPExcel_IOFactory::load('example.xlsx'); // 获取工作表中的数据 $data = $objExcel->getActiveSheet()->toArray(); // 打印数据 print_r($data); 在上面的代码中,首先引入了PHPExcel库,然后创建了一个PHPExcel对象并加载了Excel文件。通过调用getActiveSheet()方法,可以获取当前工作表对象,并使用toArray()方法将工作表数据转换为数组。 3. 处理Excel数据 读取Excel文件后,可以对其进行处理。下面是一个示例代码,用于将Excel中的数据插入到数据库中: // 引入数据库连接文件 require_once 'db.php'; // 创建PHPExcel对象 $objExcel = PHPExcel_IOFactory::load('example.xlsx'); // 获取工作表中的数据 $data = $objExcel->getActiveSheet()->toArray(); // 遍历数据并插入数据库 foreach ($data as $row) { $sql = "INSERT INTO `table` (`field1`, `field2`, `field3`) VALUES ('{$row[0]}', '{$row[1]}', '{$row[2]}')"; $db->query($sql); } 在上面的代码中,首先引入了数据库连接文件,然后创建了一个PHPExcel对象并加载了Excel文件。通过调用getActiveSheet()方法,可以获取当前工作表对象,并使用toArray()方法将工作表数据转换为数组。 接着,使用foreach循环遍历数组,并将数据插入到数据库中。在实际使用中,需要根据实际情况修改SQL语句,以适应不同的数据库表结构。 4. 总结 本文介绍了如何使用PHPExcel库将Excel文件导入到PHP中,并对导入的数据进行处理。PHPExcel库具有丰富的功能和灵活的接口,可以轻松地处理各种复杂的Excel文件。在实际开发中,需要根据具体情况对代码进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值