使用syncfusion_flutter_xlsio运行报Workbook不是类型错误如何解决
核心错误原因
- 你当前使用的
syncfusion_flutter_xlsio-18.4.49-beta是适配Flutter 1.x版本的beta测试版,和你升级后的Flutter 2.5.0版本不兼容,API存在大量变更 - 本地Pub缓存中存在该依赖的损坏文件,报错中的
xlsio.dart%20是缓存生成的重复冗余文件,导致同一个源文件被识别为属于多个库,进而引发后续Workbook类型找不到的错误
解决步骤
- 第一步:清理项目与Pub缓存
在项目根目录依次执行以下命令:
执行完成后删除项目根目录下的flutter clean pub cache repairpubspec.lock文件 - 第二步:升级依赖版本
打开pubspec.yaml文件,将syncfusion_flutter_xlsio的依赖版本替换为适配Flutter 2.5的稳定版本:
保存后执行dependencies: syncfusion_flutter_xlsio: ^19.3.54flutter pub get拉取对应版本的依赖 - 第三步:修正导入与调用代码
确保代码中导入语句为官方标准导入,不要引用包内部的子路径文件:
如果仍存在import 'package:syncfusion_flutter_xlsio/xlsio.dart';Workbook类型冲突,可给导入增加别名规避:import 'package:syncfusion_flutter_xlsio/xlsio.dart' as xlsio; // 调用时使用别名 final xlsio.Workbook workbook = xlsio.Workbook(); - 第四步:可选极端修复
如果执行上述步骤后仍报多库归属错误,直接进入本地Pub缓存的hosted/pub.dartlang.org目录,删除所有syncfusion_flutter_xlsio相关的文件夹,重新执行flutter pub get即可
内容的提问来源于stack exchange,提问作者Coder Addy
相关产品推荐
相关产品推荐

