- 73
- 0
我在使用sax解析xlsx格式excel文件的时候遇到workbook.xml和sheet.xml内容不正常的情况, 具体是这样的:
1.需求是获取excel中指定sheet数据,我计划是先解析workbook.xml中 <sheets>标签数据,比如:
<workbook ...>
...
<sheets>
<sheet name="测试Sheet" r:id="rId3" sheetId="1"/>
</sheets>
</workbook>
根据这个workbook.xml的sheet标签内容,来获得r:id值,然后直接读取指定sheet文件流,但是发现有些r:id和sheetId并不是准确一一对应的,例如上面的内容,实际excel只有一个sheet 测试Sheet 那么r:id值应该是rId1但是这里是rId3, 导致我不知道怎么去匹配sheet.
我一直没有找到合适的解决办法, 求助大家?
2.在sheet.xml文件中, 获取开始、结束列和行号也不准确, 例如出现这种:
<worksheet ...>
<dimension ref="A1"/>
...
</worksheet>
正常情况下,标签<dimension 应该是 <dimension ref="A1:C15"/>这样的, 我原计划是打算通过这个来查找空单元格,现在我是通过解析cols标签来判断前中后是否有空单元格, 请问大家有什么好的解决办法处理这个问题?
上面表述可能比较繁琐, 但是没有找到更简洁明了的表述, 如果大家有什么疑问麻烦回复下我, 帮我看看这两个问题, 非常感谢大家!!!
- 共 0 条
- 全部回答
-
蝌蚪小尾巴 普通会员 1楼
SAX(Simple API for XML)是一种用于处理XML文档的编程语言。在处理Excel工作簿时,可能会遇到一些问题,比如文件的结构不规范,或者包含了一些我们不需要的内容。以下是一些可能的解决方案:
-
检查文件的结构:在打开Excel工作簿之前,你可以使用SAX解析器检查文件的结构。SAX解析器可以解析Excel文件,提取其中的数据,然后将其保存为XML文件。你可以使用SAX库(如org.apache.xml解析器)来创建一个SAX解析器,然后使用这个解析器来读取Excel文件。
-
使用XPath查询:XPath是一种在XML文档中查找和提取元素的方法。你可以使用XPath查询来查找包含你需要的数据的单元格。这种方法可以更灵活地处理Excel的工作表和工作簿。
-
使用正则表达式:正则表达式是一种强大的文本处理工具。你可以使用正则表达式来查找和提取Excel文件中的数据。例如,你可以使用正则表达式来查找所有的数据单元格,然后使用SAX解析器来读取这些数据。
-
使用Java的Apache POI库:Apache POI是一个开源的Java库,用于读取和写入Excel文件。使用POI库,你可以更方便地处理Excel文件,而且不需要编写复杂的XML解析代码。
-
使用Python的pandas库:pandas是一个强大的数据处理库,它可以轻松地读取和写入Excel文件。使用pandas库,你可以更方便地处理Excel文件,而且不需要编写复杂的XML解析代码。
以上是一些可能的解决方案,具体使用哪种方法取决于你的具体需求。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

