Flutter-下载后如何将响应转换为excel



我是flutter的初学者,我需要将我的响应数据转换为excel&之后我可以下载它。我已经在使用这个包将我的响应数据转换为excelhttps://pub.dev/packages/excel/versions/2.0.0-null-safety-3,但问题是我不知道如何将其下载到我的设备/模拟器设备。

在这里我尝试实现

import 'dart:io';
import 'package:excel/excel.dart';
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
import 'package:permission_handler/permission_handler.dart';
...
void _Download() async {
final status = await Permission.storage.request();
if (status.isGranted) {
var excel = Excel.createExcel();
Sheet sheetObject = excel['sheet1'];
CellStyle cellStyle = CellStyle(
backgroundColorHex: "#1AFF1A",
fontFamily: getFontFamily(FontFamily.Calibri));
cellStyle.underline = Underline.Single; // or Underline.Double
var cell = sheetObject.cell(CellIndex.indexByString("A1"));
cell.value = 8; // dynamic values support provided;
cell.cellStyle = cellStyle;
// printing cell-type
print("CellType: " + cell.cellType.toString());
///
/// Inserting and removing column and rows
// insert column at index = 8
sheetObject.insertColumn(8);
// remove column at index = 18
sheetObject.removeColumn(18);
// insert row at index = 82
sheetObject.insertRow(82);
// remove row at index = 80
sheetObject.removeRow(80);
var fileBytes = excel.save();
var directory = await getApplicationDocumentsDirectory();
File(directory.path + "/dongle.xlsx")
..createSync(recursive: true)
..writeAsBytesSync(fileBytes ?? []);
} else {
print('no permission');
}

}

directory.path的输出
/data/user/0/com.example.myproject/app_flutter

您可以将该文件复制到下载文件夹,这样您就可以在下载文件夹中拥有该文件。

File file =   File(directory.path + "/dongle.xlsx")
..createSync(recursive: true)
..writeAsBytesSync(fileBytes ?? []);
file.copy('/storage/emulated/0/Download/dongle.xlsx')

最新更新