flutter操作excel表的库使用方法

这篇具有很好参考价值的文章主要介绍了flutter操作excel表的库使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

推荐库

  1. spreadsheet_decoder
  2. excel

方案一:spreadsheet_decoder

加入依赖

dependencies:
  flutter:
    sdk: flutter
  spreadsheet_decoder: ^2.1.1 //https://pub.flutter-io.cn/packages/spreadsheet_decoder

必要的初始化

import 'dart:io';
import 'package:spreadsheet_decoder/spreadsheet_decoder.dart';
var bytes = File.fromUri("填你文件的地址.xlsx").readAsBytesSync();
  var decoder = SpreadsheetDecoder.decodeBytes(bytes);

查看有多少个工作表

print((decoder.tables).keys);

使用某个表

var table = decoder.tables['Sheet1'];

获取数据

print(table!.rows[0][3]);#获取第一行第三列
print(table!.rows[0]);#获取第一行所有

修改数据

decoder.updateCell('Sheet1', 0, 0, 1337);//修改第一行第一列的数据为1337

保存数据(官方文档中这里他少了个括号会报错,以下修改为正确的了)

File(join("你的地址.xlsx")).writeAsBytesSync(decoder.encode());

方案二:excel

加入依赖

dependencies:
  excel: 2.0.1 #https://pub.flutter-io.cn/packages/excel

读取

	var file = "Path_to_pre_existing_Excel_File/excel_file.xlsx";
    var bytes = File(file).readAsBytesSync();
    var excel = Excel.decodeBytes(bytes);
    
    for (var table in excel.tables.keys) {
      print(table); //sheet Name
      print(excel.tables[table].maxCols);
      print(excel.tables[table].maxRows);
      for (var row in excel.tables[table].rows) {
        print("$row");
      }
    }

从Asset资源中读取

    import 'package:flutter/services.dart' show ByteData, rootBundle;
    
    /* Your blah blah code here */
    
    ByteData data = await rootBundle.load("assets/existing_excel_file.xlsx");
    var bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
    var excel = Excel.decodeBytes(bytes);
        
    for (var table in excel.tables.keys) {
      print(table); //sheet Name
      print(excel.tables[table].maxCols);
      print(excel.tables[table].maxRows);
      for (var row in excel.tables[table].rows) {
        print("$row");
      }
    }
    

创建excel文件

var excel = Excel.createExcel(); // automatically creates 1 empty sheet: Sheet1

更新修改数据(这里就不复制官方的了,自己总结的)

	var bytes = File("你的文件.xlsx").readAsBytesSync();
	var excel = Excel.decodeBytes(bytes);
    Sheet sheetObject = excel['Sheet1'];
    //两种方法
    //1、updateCell 同样这里的1,1是B2;0,0就是A1
    sheetObject.updateCell(
        CellIndex.indexByColumnRow(columnIndex: 1, rowIndex: 1), "测试测试");
    //2、cell这个直观些,将W29.value的值改为xxx
    sheetObject.cell(CellIndex.indexByString('W29')).value = "测测测试";

保存
在flutter web中

// when you are in flutter web then save() downloads the excel file.
     
     // Call function save() to download the file
     var fileBytes = excel.save(fileName: "My_Excel_File_Name.xlsx");

在安卓/ios
需要下载添加path_provider库

	var fileBytes = excel.save();
    var directory = await getApplicationDocumentsDirectory();
      
    File(join("$directory/output_file_name.xlsx"))
      ..createSync(recursive: true)
      ..writeAsBytesSync(fileBytes);

join报错需要添加import 'package:path/path.dart' show join;

总结

完了,不懂的评论再回复文章来源地址https://www.toymoban.com/news/detail-647690.html

到了这里,关于flutter操作excel表的库使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flutter 单例模式的多种实现方法与使用场景分析

    单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。在Flutter应用程序中,单例模式可以有效地管理全局状态、资源共享和对象的生命周期。本文将介绍Flutter中实现单例模式的多种方法,并分析它们的使用场景。 1. 懒加载单例 懒加载单例

    2024年04月16日
    浏览(23)
  • 深入理解Flutter中的GlobalKey与LocalKey(ValueKey、ObjectKey、UniqueKey)及其使用方法

    在Flutter中,Key是一个非常重要的概念,它用于标识和管理Widget。GlobalKey和LocalKey是Key的两个主要子类,而ValueKey、ObjectKey和UniqueKey则是LocalKey的具体实现。在本文中,我们将深入介绍这些关键概念以及它们在Flutter中的使用方法。 GlobalKey 是全局唯一标识一个Widget的Key。它通常用

    2024年01月25日
    浏览(25)
  • flutter和android互相调用、android原生项目与flutter module之间的交互、如何在flutter module中使用原生的方法

    bridge.dart MainActivity.kt MainActivity中 Flutter中 android项目依赖flutter module的方式网上有很多,这里就不做讲解。主要说一下这种情况下android如何与flutter module之间进行方法的调用 踩坑:期初我是想让flutter module调用它内部中的.android文件夹下的原生代码。.android文件夹下有Flutter、

    2023年04月08日
    浏览(25)
  • 浏览器生成Excel文件 ,Apache POI 使用方法及示例

    Apache POI 是 Apache 软件基金会的开源项目,它提供 API 用于读取和写入 Microsoft Office 格式的文件,如 Excel、Word 等。在 Spring Boot 应用中,结合使用 Apache POI 可以方便地处理 Excel 文件 一 引入依赖: 二 读取Excel示例: 三 写入Excel示例: 四 浏览器下载Excel示例(api示例):

    2024年04月22日
    浏览(16)
  • vue中使用xlsx插件导出多sheet excel实现方法

    安装xlsx,一定要注意版本:  package.json: App.vue: 设置单元格宽度:  

    2024年02月07日
    浏览(29)
  • 7大最常用ChatGPT Excel最佳使用示例(最后附微软官方Excel-ChatGPT插件使用方法)——手把手从0开始教您如何在Excel中使用ChatGPT,附详细指南及教程

    Microsoft Excel已安装在全球超过10亿台计算机上。它是地球上最常见的数据分析平台。Excel也是最成熟的软件之一,最初的版本于1985年发布在Macintosh计算机上。多年来,它不断发展,以保持相关性。虽然Excel中包含许多高级和晦涩的功能,可以节省大量时间,但许多人并不熟悉它

    2024年02月07日
    浏览(29)
  • [word] 如何使用Excel制作简单的流程图 #媒体#微信#学习方法

    如何使用Excel制作简单的流程图 对于在职场办公的朋友们来说,经常要使用到Excel演示公式,制作各种图表等等,其实Excel还可以制作简单的流程图呢,估计许多小伙伴们还不知道吧,今天就来给大家演示一下,看完就会了哦。 一,首先打开Excel,点击插入SmartArt,择你需要使

    2024年02月22日
    浏览(26)
  • 一种使用Java的快速将Web中表格转换成Excel的方法

            随着后疫情时代的到来,在过去的2022年,全国的经济情况,想必是很多学者和研究对象都非常关心的事。而这些数据在国家统计局网站上都有相应的记录。通过分析这些数据,可以从某一个角度来验证和观察当下的经济情况。         全国共计有1279个县级单

    2024年02月06日
    浏览(17)
  • JS EXCEL表的操作

    2024年02月12日
    浏览(9)
  • Pytest的使用方法和操作

    Pytest的介绍 pytest是一个流行的Python测试框架,可以用于编写各种类型的自动化测试,包括单元测试、集成测试和端到端测试等。以下是pytest的基本使用方法:  在编写测试用例:在一个.py文件中编写测试函数,以test_开头,例如: 运行测试用例:在终端中进入测试文件所在目

    2024年02月07日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包