xlsx简单分析

本文讲述了在处理一个存在格式问题的xls文件时遇到的挑战,通过使用Excel 2007进行转换并分析xlsx文件的结构,尤其是SharedStrings.xml和styles.xml,找到了问题出在单元格的<rPr>定义上。通过删除这些定义,解决了无法设置文字颜色的问题,但同时也引发了一些样式丢失和异常换行。文章简要介绍了xlsx文件的结构,包括SharedStrings.xml、styles.xml和workbook.xml的作用,并提醒读者在处理xlsx内容时需谨慎。
摘要由CSDN通过智能技术生成

外来的一 xls 文件,03 打开时提示格式方面有问题“为免文件损坏已删除了部分格式”。
该文件有些单元格无法设置新的文字颜色,甚至无法整体将所有的工作表复制到其它工作簿中,一个个的工作表复制时,也会在某个时候出现名称方面的错误;最后,新建一工作簿,并排窗口,通过拖放的方式才将所有工作表复制到了新的工作簿里。
新的文件保存后再打开,没有了格式方面的问题提示,以为问题就这样解决了。
但是,后来发现还是有单元格无法设置字符颜色,甚至涉及到这方面的操作会导致 excel 程序崩溃!
针对某个程序这问题的单元格,复制出来,单独保存,经过几番的猜想测试,还是毫无头绪,无法发现问题之症结,只是觉得这应该是由高版本带来的,它有着比 03 更宽松的限制,导致一些设置在高版本里正常,而 03 里出错。自己的机子上只有 03,安装了个 07 的兼容转换包。网上搜索下载了个精简版的 2007,用 excel 07 打开这个问题文件,几番操作之下,一切正常;看来问题大概就是前面所猜测的那样。
所以,后来将其保存为 07 的 xlsx 格式,解包,查看其中的内容。有些许久的折腾,可是尽管这中间对 xlsx 的结构有了些了解,但对这个问题还是一头雾水,毫无进展,看不出来这有问题的单元格和其它正常间的任何差别!因为仔细对比了它们所使用的格式设置,没有什么特别的差异,设置互换了样式索引,问题还是出现在原来的地方;这说明单元格样式不是肇因?
多番追寻无果,目光散落在了单元格内容的 SharedStrings.xml 文件上。再经仔细对比,发现异常

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值