diff --git a/app/MindWork AI Studio/Chat/ContentBlockComponent.razor b/app/MindWork AI Studio/Chat/ContentBlockComponent.razor
index cdf22c74..708064e0 100644
--- a/app/MindWork AI Studio/Chat/ContentBlockComponent.razor
+++ b/app/MindWork AI Studio/Chat/ContentBlockComponent.razor
@@ -74,6 +74,13 @@
@T("LaTeX (.tex)")
+ @if (this.HasCsv)
+ {
+
+
+ @T("CSV (.csv)")
+
+ }
@T("Markdown (.md)")
diff --git a/app/MindWork AI Studio/Chat/ContentBlockComponent.razor.cs b/app/MindWork AI Studio/Chat/ContentBlockComponent.razor.cs
index 612e6d19..99cbb0a3 100644
--- a/app/MindWork AI Studio/Chat/ContentBlockComponent.razor.cs
+++ b/app/MindWork AI Studio/Chat/ContentBlockComponent.razor.cs
@@ -106,6 +106,8 @@ public partial class ContentBlockComponent : MSGComponentBase, IAsyncDisposable
private bool hasActiveMathContainer;
private bool isDisposed;
+ private bool HasCsv => PlainFileExport.TryExtractCsvContent(this.Content, out _);
+
#region Overrides of ComponentBase
protected override async Task OnInitializedAsync()
@@ -555,6 +557,7 @@ public partial class ContentBlockComponent : MSGComponentBase, IAsyncDisposable
switch (format)
{
case FileExportFormat.MARKDOWN:
+ case FileExportFormat.CSV:
await PlainFileExport.ToFile(this.RustService, format, this.Content);
break;