excel文件实现包含xml的详情
2018-07-15
excel
excel 文件描述
excel 是一个包含多个xml文件目录的zip压缩文件。
/表示为excel文件解压后的根目录
/docProps 文档相关的属性
/xl excel 数据相关厨房目录
/xl/charts excel 图表相关都存在这里
/xl/drawings excel 图表定义
/xl/worksheets excel工作簿下sheet存放目录
/xl/media 用来excel中导入的图片,声音,视频等地方资源
excel 文件组成部分
/_rels/.rels 包关系项
/[Content_Types].xml 内容类型项
/docProps/app.xml 应用程序定义的文件属性部分,sheet与sheet名字关系,
/docProps/core.xml 核心文件属性部分
/xl/workbook.xml 工作簿部分相关定义
/xl/_rels/workbook.xml.rels 部分关系项
/xl/sharedStrings.xml 共享字符串表部分,用户输入内容
/xl/styles.xml 样式部分,关于font,boder,fill 相关定义
/xl/worksheets/sheetX.xml excel中sheet中单元格与样式的关系,内容,数据校验等相关
/xl/theme/themeX.xml sheetX的主题部分,themeX中的**X**表示的是工作X(数字)的主题,eg:1,2,3
/xl/media/nameX.xml excel引入外部资源的定义
必须的xml文件
/_rels/.rels
/docProps/app.xml
/docProps/core.xml
/xl/sharedStrings.xml
/xl/styles.xml
/xl/thene/themeX.xml
/xl/workbook.xml
/xl/worksheets/sheetX.xml
style.xml
style有font,fill, border,cellXfs等四部分组成。
font 表示字体相关的描述
fill 表示填充颜色及样式
border 表示边框颜色及样式
cellXfs有font,fill,border组成,来描述一个具体对象的样式
每一个xml节点的count属性表示共有多少个子对象
<styleSheet>
<font></font>
<fills count="">
<fill></fill>
</fills>
<borders count="">
<border></border>
</borders>
<cellXfs count="">
<xf></xf>
</cellXfs>
</styleSheet>
font 组成
<font>
<b/>加粗
<i/> 倾斜
<u val="double|single"/> 下划线,单|双
<sz val="x"/> 字体大小, val=size
<name val=""/> 字体名
<family val=""> 此元素指定当前字体的字体系列。 此信息可以按字体定义使用
当此字体不可用时,替换逻辑以找到适当的替代字体。 这个信息是
通过在存在时查询字体来确定,并且在字体不可用时不应修改。
</font>
fill 组成
<fill>
<patternFill patternType="solid"> patternType表示填充的类型
<fgColor rgb="AARRGGBB" /> 前景色,AARRGGBB, AA表示是透明度,RR红色,GG绿色,BB蓝色,每一位都一个16进制数字
<bgColor rgb="AARRGGBB" /> 背景色, AARRGGBB
</patternFill>
</fill>
border 组成
<border>
<left /> 左边框
<right /> 右边框
<top /> 上边框
<bottom /> 下边框
<diagonal /> 对角线
</border>
border 节点可以有属性diagonalUp,diagonalDown 这两个属性是border中孩子节点diagonal描述,表示对角线话的放心, left,right,top,bottom四个节点可以有color子节点及style属性,color子节点有一个rgb属性用来描述颜色值, style表示边框的样式
xf组成
<xf numFmtId="" fontId="" fillId="" borderId="" xfId="">
<alignment vertical="" horizontal="" textRotation="" wrapText="" />
</xf>
numFmtId 单元格格式
fontId fonts节点的子节点index
fillId fills节点的子节点index
borderId borders节点的子节点indx
vertical cell内容的对齐方式
horizontal cell内容的对齐方式
textRotation cell内容文字的旋转方式
wrapText 文字环绕方式
部分字段可选值
vertical,horizontal 的部分值
left
center
right
fill
justify
centerContinuous
distributed
numFmtId 的部分值 0 通用格式 1 整数 18 时间, 格式是h:mm AM/PM 19 时间, 格式是h:mm:ss AM/PM 20 时间, 格式是h:mm 21 时间, 格式是h:mm:ss 22 日期,格式是m/d/yy h:mm 49 文字
sheetX.xml
<worksheet>
<dimension ref="" />
<sheetViews>
<sheetView windowProtection="" showFormulas="" showGridLines="" showRowColHeaders="" showZeros="" rightToLeft="false" tabSelected="" showOutlineSymbols="true" defaultGridColor="true" view="normal" topLeftCell="A1" colorId="64" zoomScale="" zoomScaleNormal="" zoomScalePageLayoutView="" workbookViewId="">
</sheetView>
</sheetViews>
<sheetFormatPr />
<col collapsed="" hidden="" min="" max="" width="" style="" customWidth="" />
<sheetData>
<row r="" spans="">
<c r="" t="">
<v></v>
</c>
</row>
</sheetData>
<dataValidations count="2">
<dataValidation type="" allowBlank="" showInputMessage="" showErrorMessage="" sqref="">
<formula1>
""
</formula1>
<formula2>
""
</formula2>
</dataValidation>
</dataValidations>
<pageMargins left="" top="" bottom="" header="" footer="" />
<pageSetup paperSize="" orientation="" verticalDpi="" />
<drawing />
<extLst>
<ext>
</ext>
</extLst>
</worksheet>