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 可以知道是那种样式
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值