Export CSV/PDF

This commit is contained in:
2025-10-24 14:53:53 +02:00
parent 003196490f
commit 35c2231cbb
11 changed files with 868 additions and 22 deletions
+24
View File
@@ -0,0 +1,24 @@
// lib/shared/csv.dart
class CsvBuilder {
final StringBuffer _buf = StringBuffer();
final String delimiter;
final String eol;
CsvBuilder({this.delimiter = ';', this.eol = '\n'});
static String _escape(String? v, String delimiter) {
final s = v ?? '';
final mustQuote =
s.contains(delimiter) || s.contains('\n') || s.contains('"');
var out = s.replaceAll('"', '""');
return mustQuote ? '"$out"' : out;
}
void addRow(Iterable<dynamic> cols) {
_buf.writeln(
cols.map((c) => _escape(c?.toString(), delimiter)).join(delimiter));
}
@override
String toString() => _buf.toString();
}