Recently i'm getting this Error in flutter trying to test if Excel file been created or not.the thing is that i used the same code in one of the oldest project and worked perfectly. I'm trying to use the web Device so when i press the Button the Excel file will be created and the download will start.
here my code :
import 'package:excel/excel.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key}) : super(key: key);
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView(
children: [
ElevatedButton(
child: Text(
"Save File",
),
onPressed: () {
final excell = Excel.createExcel();
final sheet = excell['Assets'];
var fileBytes = excell.save(fileName: "My_File_Name.xlsx");
},
),
],
)
);
}
}
this is the Error When i press the button :
══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════ The following TypeErrorImpl was thrown while handling a gesture: Expected a value of type 'List', but got one of type 'Null'
When the exception was thrown, this was the stack: C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49 throw
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 84:3 castError
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 452:10 cast
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/classes.dart 635:14 as_C packages/archive/src/zip_encoder.dart 90:34
getFileCrc32packages/archive/src/zip_encoder.dart 135:15
addFile packages/archive/src/zip_encoder.dart 65:7
encode packages/excel/src/save/save_file.dart 36:25
[_save] packages/excel/src/excel.dart 334:20
save packages/finance_refa/main.dart 46:43
packages/flutter/src/material/ink_well.dart 1005:21
[_handleTap]packages/flutter/src/gestures/recognizer.dart 198:24 invokeCallback packages/flutter/src/gestures/tap.dart 613:48
handleTapUp packages/flutter/src/gestures/tap.dart 298:5
[_checkUp] packages/flutter/src/gestures/tap.dart 232:7 handlePrimaryPointer packages/flutter/src/gestures/recognizer.dart 563:9
handleEvent packages/flutter/src/gestures/pointer_router.dart 94:12
[_dispatch] packages/flutter/src/gestures/pointer_router.dart 139:9
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 21:13 forEach
packages/flutter/src/gestures/pointer_router.dart 137:17 [_dispatchEventToRoutes] packages/flutter/src/gestures/pointer_router.dart 123:7
route packages/flutter/src/gestures/binding.dart 445:19
handleEvent packages/flutter/src/gestures/binding.dart 425:14 dispatchEvent packages/flutter/src/rendering/binding.dart 326:11 dispatchEvent packages/flutter/src/gestures/binding.dart 380:7 [_handlePointerEventImmediately] packages/flutter/src/gestures/binding.dart 344:5 handlePointerEvent packages/flutter/src/gestures/binding.dart 302:7 [_flushPointerEventQueue] packages/flutter/src/gestures/binding.dart 285:32 [_handlePointerDataPacket] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 1075:13 invoke1 C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 185:5 invokeOnPointerDataPacket C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 130:39 [_onPointerData] C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 543:18
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 496:21
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 210:16 loggedHandlerHandler: "onTap" Recognizer: TapGestureRecognizer#f5722 ════════════════════════════════════════════════════════════════════════════════════════════════════
It looks like you are using the third-party package Excel. The issue you are describing has been fixed in the latest null-safety branch.
To use the latest null-safety branch in your project, use this in your pubspec.yaml:
Please pay attention that this might probably not be a stable branch / version but will temporary fix your issue.