阅读Excel文件- Flutter -附加数据包裹的数据

tf7tbtn2  于 2023-03-24  发布在  Flutter
关注(0)|答案(1)|浏览(173)

我目前正在使用Flutter的'excel 1.1.5'包来读取Excel文件。
我在excel文件中的数据如下

我正在使用下面的代码读取excel文件

List<String> rowdetail = [];

_importFromExcel() async {
var file =
    "storage/emulated/0/Android/data/com.xxxx.xxxx/files/Download/Input.xlsx";
var bytes = File(file).readAsBytesSync();
var excel = Excel.decodeBytes(bytes);

    for (var table in excel.tables.keys) {
      for (var row in excel.tables[table]!.rows) {
        rowdetail.add(row.toString());
      }
    }
}

然而,当我打印数据时,每一列都被我不想要的附加值 Package 起来。
I/扑动(12873):[Data(1,0,0,null,Sheet1),Data(Assets,1,0,null,Sheet1),Data(Bank accounts,2,0,null,Sheet1),Data(Cb 7723,3,0,null,Sheet1),Data(2022-05-26 10:46:07.679579,4,0,null,Sheet1),Data(27,5,0,null,Sheet1),Data(6269,6,0,null,Sheet1),Data(,7,0,null,Sheet1)]
如可以注意到的,第一行、第一列以“Data(”为前缀并且以“0,0,null,Sheet 1)”为后缀。
如何只访问文件中所需的数据。(在这种情况下,第一行,第一列的值应该只为“1”)。

r6l8ljro

r6l8ljro1#

只需使用row.value而不是row.toString()
这应该行得通:

List<String> rowdetail = [];

_importFromExcel() async {
var file =
    "storage/emulated/0/Android/data/com.xxxx.xxxx/files/Download/Input.xlsx";
var bytes = File(file).readAsBytesSync();
var excel = Excel.decodeBytes(bytes);

    for (var table in excel.tables.keys) {
      for (var row in excel.tables[table]!.rows) {
        rowdetail.add(row.value);
      }
    }
}

相关问题