我想在Flutter中保存一个包含两个工作表的xlsx文件。
我找了很多,但什么也没找到
我发现我可以用一张表做一个文件,这很好...但是我想用两张表做一个xlsx文件。
这是一个函数:
import 'package:syncfusion_flutter_xlsio/xlsio.dart'as xcel;
import 'dart:io';
import 'package:path_provider/path_provider.dart';
import 'package:open_file/open_file.dart';
import 'package:universal_html/html.dart' show AnchorElement;
import 'package:flutter/foundation.dart' show kIsWeb;
import 'dart:convert';
Future<void> createExcel() async {
final xcel.Workbook workbook = xcel.Workbook();
final xcel.Worksheet sheet = workbook.worksheets[0];
final xcel.Worksheet sheet2 = workbook.worksheets[00];
sheet.getRangeByIndex(1, 1).setText("Title");
sheet.getRangeByIndex(1, 3).setText("Link");
sheet2.getRangeByIndex(1, 2).setText("hello");
final List<int> bytes = workbook.saveAsStream();
workbook.dispose();
if (kIsWeb) {
AnchorElement(
href:
'data:application/octet-stream;charset=utf-16le;base64,${base64.encode(bytes)}')
..setAttribute('download', 'ok.xlsx')
..click();
} else {
final String path = (await getApplicationSupportDirectory()).path;
final String fileName =
Platform.isWindows ? '$path\\ok.xlsx' : '$path/ok.xlsx';
final File file = File(fileName);
await file.writeAsBytes(bytes, flush: true);
OpenFile.open(fileName);
}
}
1条答案
按热度按时间ar7v8xwq1#
要使用syncfusion_flutter_xlsio包在Flutter中创建包含两个工作表的Excel文件,您可以按照以下步骤操作:
1.
1.定义一个函数来创建Excel文件:
Future createExcel()async { final xcel.Workbook workbook = xcel.Workbook();
//创建第一个工作表
final xcel.Worksheet sheet = workbook. worksheet [0];
“); setText(“文件名”);
setText(“String”); getString(“String”);
//创建第二个工作表
final xcel.Worksheet sheet2 = workbook.worksheets.addWithName(“Sheet2”); setText(“hello”);
//将工作簿保存为字节流
int n = getString. getString();
return();
public void run(){
1.当您要创建Excel文件时,请调用createExcel函数。例如,您可以通过按下按钮来触发它。此代码将创建一个包含两个工作表的Excel文件:第一个工作表将具有“标题”和“链接”列,第二个工作表将在单元格B1中具有“hello”值。对于非Web平台,文件将保存在本地并打开,而对于Web,将生成下载链接以下载文件。