用MIME格式描述多工作表Excel文件

简介:
  上次说了 使用MIME格式描述多内容的Excel文件,那么如果我希望描述一个有多工作表(sheet)的Excel文件,是否也同样能办到呢?因为很多时候我们需要把一系列的多个表格导入一个Excel文件中保存,对多工作表的支持是非常重要的功能,否则单Sheet的Excel文件如同鸡肋的说。

    其实我们完全可以按照上次的说明,生成一个MIME格式描述的Excel文件先,然后加入对多sheet的描述就可以了。对多sheet支持的MIME描述是文件中一个单独的节,如下是一个描述了4个sheets的节:
None.gif------BOUNDARY_9527----
None.gifContent-Location: file:///C:/0E8D990C/MimeExcel.xml
None.gifContent-Transfer-Encoding: quoted-printable
None.gifContent-Type: text/html; charset="us-ascii"
None.gif
None.gif < html  xmlns:o =3D"urn:schemas-microsoft-com:office:office"
None.gif
xmlns:x =3D"urn:schemas-microsoft-com:office:excel"
None.gif
xmlns =3D"http://www.w3.org/TR/REC-html40" >
None.gif
None.gif < head >
None.gif < xml >
None.gif  < x:ExcelWorkbook >
None.gif   < x:ExcelWorksheets >
None.gif    < x:ExcelWorksheet >
None.gif     < x:Name >cnblogs </ x:Name >
None.gif     < x:WorksheetSource  HRef =3D"cid:sheet001" />
None.gif    </ x:ExcelWorksheet >
None.gif    < x:ExcelWorksheet >
None.gif     < x:Name >birdshome </ x:Name >
None.gif     < x:WorksheetSource  HRef =3D"cid:sheet002" />
None.gif    </ x:ExcelWorksheet >
None.gif    < x:ExcelWorksheet >
None.gif     < x:Name >mime </ x:Name >
None.gif     < x:WorksheetSource  HRef =3D"MimeExcel/sheet003.xml" />
None.gif    </ x:ExcelWorksheet >
None.gif    < x:ExcelWorksheet >
None.gif     < x:Name >excel </ x:Name >
None.gif     < x:WorksheetSource  HRef =3D"MimeExcel/sheet004.xml" />
None.gif    </ x:ExcelWorksheet >
None.gif   </ x:ExcelWorksheets >
None.gif  </ x:ExcelWorkbook >
None.gif </ xml >
None.gif </ head >
None.gif </ html >

    其实最关键的就是 < x:WorksheetSource  HRef =3D"cid:sheet002" />节点,它的属性HRef表示一个Sheet的ID,这个ID和上次说的图片引用一样,可以使Content-Location描述,也可是Content-ID来描述,只要引用的时候注意配对就行了。
    
    各个Sheet的描述就和" 多内容"一文中说的格式一样。比如sheet001:
None.gif------BOUNDARY_9527----
None.gifContent-ID: sheet001
None.gifContent-Transfer-Encoding: quoted-printable
None.gifContent-Type: text/html; charset="us-ascii"
None.gif
None.gif < html  xmlns:o =3D"urn:schemas-microsoft-com:office:office"
None.gif
xmlns:x =3D"urn:schemas-microsoft-com:office:excel"
None.gif
xmlns =3D"http://www.w3.org/TR/REC-html40" >
None.gif
None.gif < head >
None.gif < xml >
None.gif  < x:WorksheetOptions >
None.gif   < x:ProtectContents >False </ x:ProtectContents >
None.gif   < x:ProtectObjects >False </ x:ProtectObjects >
None.gif   < x:ProtectScenarios >False </ x:ProtectScenarios >
None.gif  </ x:WorksheetOptions >
None.gif </ xml >
None.gif </ head >
None.gif < body >
None.gif < table >
None.gif  < tr >
None.gif   < td >cnblogs </ td >
None.gif   < td >cnblogs </ td >
None.gif   < td >cnblogs </ td >
None.gif   < td >cnblogs </ td >
None.gif  </ tr >
None.gif  </ table >
None.gif </ body >
None.gif </ html >

    本文MIME Execl文件示例下载: mime_excel.rar。显示效果如下图:
    MIME.SHEETS.XLS.png

本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
|
1月前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
22 1
|
1月前
|
安全 Java 数据库连接
jdbc解析excel文件,批量插入数据至库中
jdbc解析excel文件,批量插入数据至库中
21 0
|
1月前
|
SQL 数据可视化 数据处理
使用SQL和Python处理Excel文件数据
使用SQL和Python处理Excel文件数据
54 0
|
6天前
|
数据库
开发指南009-从list导出excel文件
从数据库返回一般是对象的列表,平台底层提供了从list转为excel文件的方法
|
7天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
12 0
|
1月前
|
存储 数据处理 Python
使用Python批量合并Excel文件的所有Sheet数据
使用Python批量合并Excel文件的所有Sheet数据
33 0
|
1月前
|
JavaScript
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
158 0
|
1月前
|
存储 数据处理 Python
使用openpyxl库从Excel文件中提取指定的数据并生成新的文件
使用openpyxl库从Excel文件中提取指定的数据并生成新的文件
29 0
|
1月前
|
存储 数据可视化 数据处理
利用python将Excel文件拆分为多个CSV
利用python将Excel文件拆分为多个CSV
27 0
|
1月前
|
数据挖掘 Shell BI
Python生成Excel文件
Python生成Excel文件
28 0