diff --git a/apps/application/serializers/chat_serializers.py b/apps/application/serializers/chat_serializers.py index fc4195f81..2b345ecff 100644 --- a/apps/application/serializers/chat_serializers.py +++ b/apps/application/serializers/chat_serializers.py @@ -20,6 +20,7 @@ from django.core.cache import caches from django.db import transaction, models from django.db.models import QuerySet, Q from django.http import StreamingHttpResponse +from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE from rest_framework import serializers from application.flow.workflow_manage import Flow @@ -205,6 +206,8 @@ class ChatSerializers(serializers.Serializer): for row_idx, row in enumerate(batch_data, start=i + 2): for col_idx, value in enumerate(self.to_row(row), 1): cell = worksheet.cell(row=row_idx, column=col_idx) + if isinstance(value, str): + value = re.sub(ILLEGAL_CHARACTERS_RE, '', value) cell.value = value output = BytesIO() diff --git a/apps/dataset/serializers/document_serializers.py b/apps/dataset/serializers/document_serializers.py index bc3fbef23..03109fa4d 100644 --- a/apps/dataset/serializers/document_serializers.py +++ b/apps/dataset/serializers/document_serializers.py @@ -21,6 +21,7 @@ from django.db import transaction from django.db.models import QuerySet from django.http import HttpResponse from drf_yasg import openapi +from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE from rest_framework import serializers from xlwt import Utils @@ -510,6 +511,8 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): for row_idx, row in enumerate(data): for col_idx, col in enumerate(row): cell = worksheet.cell(row=row_idx + 1, column=col_idx + 1) + if isinstance(col, str): + col = re.sub(ILLEGAL_CHARACTERS_RE, '', col) cell.value = col # 创建HttpResponse对象返回Excel文件 return workbook