我试图将一些值保存在excel表中,作为以后将在公式中使用的数字。我在Dart中使用SpreadsheetDecoder。问题是,我能够保存数据,但是保存的数据是文本格式,因此它是文本,我无法在需要数字的公式中使用。下面提供了我正在使用的代码。
import 'dart:io';
import 'dart:typed_data';
import 'package:path/path.dart';
import 'package:spreadsheet_decoder/spreadsheet_decoder.dart';
File file = File('FileToUpdate.xlsx');
List requiredRow;
SpreadsheetDecoder decoder;
Uint8List bytes;
/*
Row number (rowNum) for various values in excel sheet
'aValue':14 , int
'bValue':15 int
'cValue':16 double
*/
int rowNum = 14;
int newValue = 5;
void main(List<String> args) {
bytes = file.readAsBytesSync();
decoder = SpreadsheetDecoder.decodeBytes(bytes, update: true);
final table = decoder.tables['SheetName'];
requiredRow = table.rows[rowNum];
var requiredValue = requiredRow[0] as String;
print(requiredValue);
setValue(newValue);
final valueStored = getValue();
print(valueStored);
}
void setValue(int value) {
decoder.updateCell('SheetToUpdate', 1, rowNum, value);
File(join('FileToUpdate.xlsx'))
..createSync(recursive: true)
..writeAsBytesSync(decoder.encode());
}
String getValue() {
String returnValue = requiredRow[1].toString();
return returnValue;
}