提问者:小点点

错误:“预期值为'List<int>'类型,但得到了'Null'类型的值”


最近我得到这个错误在flutter试图测试如果Excel文件被创建或没有。事情是,我在一个最古老的项目中使用了相同的代码,工作得很好。我正在尝试使用网络设备,所以当我按下按钮时,Excel文件将被创建,下载将开始。

这是我的代码:

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");
                    
                  },
                ),
        ],
      )
      );
  }
}

这是当我按下按钮时的错误:

EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════ 处理手势时抛出以下TypeErrorImpl:预期值为'List'类型,但得到一个'Null'类型

处理程序:"onTap"识别器:TapGesture识别器#f5722 ════════════════════════════════════════════════════════════════════════════════════════════════════


共1个答案

匿名用户

看起来您正在使用第三方包Excel。您所描述的问题已在最新的空安全分支中修复。

要在项目中使用最新的空安全分支,请在pubspec. yaml中使用它:

  excel:
    git:
      url: https://github.com/justkawal/excel.git
      ref: null-safety

请注意,这可能不是一个稳定的分支/版本,但会暂时解决您的问题。