diff --git a/Elwig/Documents/DeliveryConfirmation.cshtml b/Elwig/Documents/DeliveryConfirmation.cshtml
index b11bdf3..a4a2dd0 100644
--- a/Elwig/Documents/DeliveryConfirmation.cshtml
+++ b/Elwig/Documents/DeliveryConfirmation.cshtml
@@ -54,8 +54,8 @@
@p.Variant |
@p.Attribute |
@p.QualityLevel |
- @($"{p.Oe:N0}") |
- @($"{p.Kmw:N1}") |
+ @($"{p.Gradation.Oe:N0}") |
+ @($"{p.Gradation.Kmw:N1}") |
}
@if (i > 0 && i <= p.Modifiers.Length) {
@(p.Modifiers[i - 1]) |
@@ -64,8 +64,8 @@
}
@if (i < p.Buckets.Length) {
var bucket = p.Buckets[i];
- @bucket.Item1: |
- @($"{bucket.Item2:N0}") |
+ @bucket.Name: |
+ @($"{bucket.Value:N0}") |
} else {
|
}
diff --git a/Elwig/Helpers/Export/Ods.cs b/Elwig/Helpers/Export/Ods.cs
index db32f26..e8cd93a 100644
--- a/Elwig/Helpers/Export/Ods.cs
+++ b/Elwig/Helpers/Export/Ods.cs
@@ -81,7 +81,7 @@ namespace Elwig.Helpers.Export {
Content = new StreamWriter(content.Open(), Utils.UTF8);
await Content.WriteAsync("""
-
+
@@ -108,10 +108,14 @@ namespace Elwig.Helpers.Export {
-
+
+
+
+
+
@@ -151,8 +155,8 @@ namespace Elwig.Helpers.Export {
await writer.WriteAsync($"""
2
- 3
- 3
+ 4
+ 4
""");
@@ -177,8 +181,10 @@ namespace Elwig.Helpers.Export {
_tables.Add(table.Name);
await Content.WriteAsync($" \r\n");
- foreach (var w in table.ColumnWidths) {
- await Content.WriteAsync(" \r\n");
+ foreach (var (s, w) in table.ColumnSpans.Zip(table.ColumnWidths)) {
+ for (int i = 0; i < s; i++) {
+ await Content.WriteAsync(" \r\n");
+ }
}
await Content.WriteAsync(
@@ -189,48 +195,76 @@ namespace Elwig.Helpers.Export {
$" \r\n" +
$" \r\n" +
$" \r\n");
- foreach (var (name, span) in table.ColumnNames.Zip(table.ColumnSpans)) {
- await Content.WriteAsync(FormatCell(name, colSpan: span, style: "th"));
+ foreach (var (name, span, units) in table.ColumnNames.Zip(table.ColumnSpans, table.ColumnUnits)) {
+ var hasUnits = units.Length > 0;
+ await Content.WriteAsync(FormatCell(name, colSpan: span, rowSpan: hasUnits ? 1 : 2, style: "th"));
+ }
+ await Content.WriteAsync(" \r\n \r\n");
+ foreach (var (span, units) in table.ColumnSpans.Zip(table.ColumnUnits)) {
+ if (units.Length == 0) {
+ await Content.WriteAsync($" \r\n");
+ continue;
+ }
+ foreach (var u in units) {
+ await Content.WriteAsync(FormatCell(u == null ? null : $"[{u}]", style: "th"));
+ }
}
await Content.WriteAsync(" \r\n");
foreach (var row in table.GetData()) {
- await FormatRow(row);
+ await FormatRow(row, table.ColumnUnits);
}
await Content.WriteAsync(" \r\n");
}
- protected async Task FormatRow(IEnumerable