有什么办法以Flutter方式将CSV文件导入Sqlite数据库吗?

我一直在寻找以浮动方式将csv导入数据库。但不幸的是,我找不到与此案有关的文章。所以我想知道是否有一种方法可以将csv导入数据库。如果是,我该如何实现?就我而言,我打开文件选择器,并想要导入csv文件。我可以轻松地以Kotlin方式进行操作,但不能以颤抖的方式进行操作。我将不胜感激。

yx_hcr 回答:有什么办法以Flutter方式将CSV文件导入Sqlite数据库吗?

嗯,这并不简单。

您通常会使用诸如https://pub.dev/packages/csvhttps://pub.dev/packages/spreadsheet_decoder之类的格式来解析CSV。

所以它看起来像:

final input = new File('documents/file.csv').openRead();

然后将其转换为列表:

final fields = await input.transform(utf8.decoder).transform(new CsvToListConverter()).toList();

完成此操作后,通常您将具有要进行批量更新的功能。

首先,创建一个数据库

Database database = await openDatabase(path,version: 1,onCreate: (Database db,int version) async {
  await db.execute(
      'CREATE TABLE Test (id INTEGER PRIMARY KEY,name TEXT,value INTEGER,num REAL)');
});

然后,您可以使用此处== https://stackoverflow.com/a/56507307/1737811这样的一些辅助方法,以便使用结果填充数据库字段。

这样,您就可以传递tablename,当然也可以传递List,其中包含刚解码的CSV中的值。

本文链接:https://www.f2er.com/3154336.html

大家都在问