Flutter使用excel包读取Excel时遭遇布尔值解析错误求助
解决excel包解析Excel时"0"无法转为布尔值的问题
这个错误是因为excel包的BoolParsing.parseBool方法仅支持解析"true"/"false"字符串为布尔值,但你的Excel文件中页眉页脚设置使用了"0"作为布尔值,导致解析失败。以下是几种可行的解决方法:
方案1:修改excel包源码(快速修复)
找到项目依赖的excel包源码路径(通常在~/.pub-cache/hosted/pub.dev/excel-<版本号>/lib/src/sheet/header_footer.dart),定位到BoolParsing.parseBool方法,修改其逻辑以支持"0"/"1"的解析:
static bool parseBool(String value) { final lowerVal = value.toLowerCase(); if (lowerVal == 'true' || lowerVal == '1') { return true; } if (lowerVal == 'false' || lowerVal == '0') { return false; } throw Exception('"$value" can not be parsed to boolean.'); }
修改后重新运行项目,即可正常读取目标Excel文件。
方案2:升级或反馈问题
- 检查excel包的最新版本是否已修复该问题,若有则直接升级依赖版本至最新版。
- 若官方未修复,可在包的GitHub仓库提交issue或PR,将上述修复逻辑提交给官方,等待合并后使用官方修复版本。
方案3:临时规避(修改Excel文件)
手动打开sample.xlsx,移除页眉页脚的所有设置,保存后再用代码读取,即可绕过页眉页脚的布尔值解析错误。
内容的提问来源于stack exchange,提问作者Raj
相关产品推荐
相关产品推荐

