Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/src/ods.dart
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class OdsDecoder extends SpreadsheetDecoder {
void _parseContent() {
var file = _archive.findFile(contentXML);
file?.decompress();
var content = XmlDocument.parse(utf8.decode(file?.content));
var content = XmlDocument.parse(utf8.decode(file?.content.toList() ?? []));
if (_update == true) {
_archiveFiles = <String, ArchiveFile>{};
_sheets = <String, XmlElement>{};
Expand Down
13 changes: 6 additions & 7 deletions lib/src/spreadsheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ abstract class SpreadsheetDecoder {
return _newSpreadsheetDecoder(archive, update);
}

factory SpreadsheetDecoder.decodeBuffer(InputStreamBase input,
factory SpreadsheetDecoder.decodeBuffer(InputStream input,
{bool update = false, bool verify = false}) {
var archive = ZipDecoder().decodeBuffer(input, verify: verify);
var archive = ZipDecoder().decodeStream(input, verify: verify);
return _newSpreadsheetDecoder(archive, update);
}

Expand Down Expand Up @@ -169,7 +169,7 @@ abstract class SpreadsheetDecoder {
var content = utf8.encode(xml);
_archiveFiles[xmlFile] = ArchiveFile(xmlFile, content.length, content);
}
return ZipEncoder().encode(_cloneArchive(_archive)) as List<int>;
return ZipEncoder().encode(_cloneArchive(_archive));
}

/// Encode data url
Expand All @@ -188,10 +188,9 @@ abstract class SpreadsheetDecoder {
if (_archiveFiles.containsKey(file.name)) {
copy = _archiveFiles[file.name]!;
} else {
var content = file.content as Uint8List;
var compress = file.compress;
copy = ArchiveFile(file.name, content.length, content)
..compress = compress;
copy = ArchiveFile(file.name, file.content.length, file.content)
..compression = file.compression
..compressionLevel = file.compressionLevel;
}
clone.addFile(copy);
}
Expand Down
4 changes: 2 additions & 2 deletions lib/src/xlsx.dart
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ class XlsxDecoder extends SpreadsheetDecoder {
void _parseContent() {
var workbook = _archive.findFile('xl/workbook.xml');
workbook?.decompress();
var document = XmlDocument.parse(utf8.decode(workbook?.content));
var document = XmlDocument.parse(utf8.decode(workbook?.content.toList() ?? []));
document.findAllElements('sheet').forEach((node) {
_parseTable(node);
});
Expand All @@ -323,7 +323,7 @@ class XlsxDecoder extends SpreadsheetDecoder {
var file = _archive.findFile(namePath);
file?.decompress();

var content = XmlDocument.parse(utf8.decode(file?.content));
var content = XmlDocument.parse(utf8.decode(file?.content.toList() ?? []));
var worksheet = content.findElements('worksheet').first;
var sheet = worksheet.findElements('sheetData').first;

Expand Down
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: spreadsheet_decoder
description: A lightweight library for parsing and updating spreadsheet documents
version: 2.3.0
version: 2.3.0-obscuro.1
homepage: https://github.com/sestegra/spreadsheet

environment:
sdk: "^3.0.0"

dependencies:
archive: ^3.6.1
archive: ^4.0.9
xml: ^6.5.0

dev_dependencies:
Expand Down
6 changes: 3 additions & 3 deletions tool/archive.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Archive cloneArchive(Archive archive) {
var clone = Archive();
for (var file in archive.files) {
if (file.isFile) {
var content = file.content as Uint8List;
var copy = ArchiveFile(file.name, content.length, content)
..compress = file.compress;
var copy = ArchiveFile(file.name, file.content.length, file.content)
..compression = file.compression
..compressionLevel = file.compressionLevel;
clone.addFile(copy);
}
}
Expand Down