用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/,如需转载请自行联系原博主。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值