diff --git a/server/src/main/resources/web/csv.ftl b/server/src/main/resources/web/csv.ftl
index d41dd31a..d3a3a59b 100644
--- a/server/src/main/resources/web/csv.ftl
+++ b/server/src/main/resources/web/csv.ftl
@@ -9,7 +9,6 @@
-
@@ -55,12 +54,20 @@ reader.onload = function(e) {
data = new Uint8Array(data);
let f = isUTF8(data);
if (f) {
- var str = cptable.utils.decode(65001, data);
- process_wb(XLSX.read(str, { type: "string" }));
- } else {
- var str = cptable.utils.decode(936, data);
+ try {
+ var str = cptable.utils.decode(65001, data);
process_wb(XLSX.read(str, { type: "string" }));
- }
+ } catch (error) {
+ process_wb(XLSX.read(data));
+ }
+ } else {
+ try {
+ var str = cptable.utils.decode(936, data);
+ process_wb(XLSX.read(str, { type: "string" }));
+ } catch (error) {
+ process_wb(XLSX.read(data));
+ }
+ }
};
reader.readAsArrayBuffer(file);
}