From b8449a6efafa3f5ca16817b9cfb4e2b1d1b08a02 Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 15 Apr 2024 19:30:03 +0800 Subject: [PATCH] fix: Export csv file can run program for windows --- apps/common/drf/renders/csv.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/common/drf/renders/csv.py b/apps/common/drf/renders/csv.py index ba469a21f..88466f533 100644 --- a/apps/common/drf/renders/csv.py +++ b/apps/common/drf/renders/csv.py @@ -23,7 +23,14 @@ class CSVFileRenderer(BaseFileRenderer): self.writer = csv_writer def write_row(self, row): - self.writer.writerow(row) + row_escape = [] + for d in row: + if isinstance(d, str) and d.strip().startswith(('=', '@')): + d = "'{}".format(d) + row_escape.append(d) + else: + row_escape.append(d) + self.writer.writerow(row_escape) def get_rendered_value(self): value = self.buffer.getvalue()