excel 如何保存一个xlsx文件与两个工作表?

fnatzsnv  于 2023-06-30  发布在  其他
关注(0)|答案(1)|浏览(172)

我想在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);
    }
  }
ar7v8xwq

ar7v8xwq1#

要使用syncfusion_flutter_xlsio包在Flutter中创建包含两个工作表的Excel文件,您可以按照以下步骤操作:
1.

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 'dart:convert';
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:universal_html/html.dart' show AnchorElement;

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(){

// For web, create a download link and click it

AnchorElement(
    href:
        'data:application/octet-stream;charset=utf-16le;base64,${base64.encode(bytes)}')
  ..setAttribute('download', 'ok.xlsx')
  ..click();   } else {

  // For non-web platforms, save the file locally and open it

  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.当您要创建Excel文件时,请调用createExcel函数。例如,您可以通过按下按钮来触发它。此代码将创建一个包含两个工作表的Excel文件:第一个工作表将具有“标题”和“链接”列,第二个工作表将在单元格B1中具有“hello”值。对于非Web平台,文件将保存在本地并打开,而对于Web,将生成下载链接以下载文件。

相关问题