Excel 是一个 flutter 和 dart 库,用于读取、创建和更新 XLSX 文件的 excel 工作表。
下面我就将自己学习excel插件学习的知识点记录一下
一、官网
Excel的 |Dart 软件包 (flutter-io.cn)
二、官网案例解析
import 'dart:io';
import 'package:path/path.dart';
import 'package:excel/excel.dart';
void main(List<String> args) {
var excel = Excel.createExcel();
// 遍历Excel文件中所有表格(工作表)
// excel.tables.keys: 用于获取Excel文件中所有的表格(工作表的名称)
for (var table in excel.tables.keys) {
print(table);// 打印表格的名称
print(excel.tables[table]!.maxColumns); //excel.tables[table]!.maxColumns:获取特定表格的最大列数
print(excel.tables[table]!.maxRows); // excel.tables[table]!.maxRows:获取特定表格的最大行数
// excel.tables[table]!.rows : 返回特定表格的行数
for (var row in excel.tables[table]!.rows) {
// row.map((e) => e?.value) : 将每行中的单元格值(可能为空)提取出来,并以列表的形式打印
print("${row.map((e) => e?.value)}");
}
}
/// 将工作表从rtl更改为ltr,反之亦然,即(从右到左->从左到右,反之亦然)
// rtl (文本书写方向) : 从右向左,一般用于阿拉伯语和希伯来语
// ltr (文本书写方向) : 从左向右,一般用于常见的语言
var sheet1rtl = excel['Sheet1'].isRTL;// 查看Sheet1工作表的文本书写方向是不是从右向左
excel['Sheet1'].isRTL = false; // 将Sheet1工作表的文本书写方向改为从左向右
// 打印出"Sheet1"工作表文本书写方向修改之前和修改之后,方便做下区分
print('Sheet1: ((previous) isRTL: $sheet1rtl) ---> ((current) isRTL: ${excel['Sheet1'].isRTL})');
var sheet2rtl = excel['Sheet2'].isRTL; // 查看Sheet2工作表的文本书写方向是不是从右向左
excel['Sheet2'].isRTL = true; // 将"Sheet2"工作表的文本书写方向设置为从右向左
// 打印出"Sheet2"工作表文本书写方向修改之前和修改之后,方便做下区分
print('Sheet2: ((previous) isRTL: $sheet2rtl) ---> ((current) isRTL: ${excel['Sheet2'].isRTL})');
/// 声明一个单元格式( cellStyle )对象
CellStyle cellStyle = CellStyle(
bold: true, // 粗体
italic: true, // 斜体
textWrapping: TextWrapping.WrapText, // 文本将自动换行以适用单元格宽度
fontFamily: getFon