diff --git a/packages/plugins/export/src/client/useExportAction.ts b/packages/plugins/export/src/client/useExportAction.ts
index b8f836eae..7eef4f144 100644
--- a/packages/plugins/export/src/client/useExportAction.ts
+++ b/packages/plugins/export/src/client/useExportAction.ts
@@ -4,7 +4,7 @@ import {
   useBlockRequestContext,
   useCollection,
   useCollectionManager,
-  useCompile,
+  useCompile
 } from '@nocobase/client';
 import { saveAs } from 'file-saver';
 import { cloneDeep } from 'lodash';
@@ -39,13 +39,15 @@ export const useExportAction = () => {
       const { data } = await resource.export(
         {
           title: compile(title),
-          columns: JSON.stringify(compile(exportSettings)),
           appends: service.params[0]?.appends?.join(),
           filter: JSON.stringify(service.params[0]?.filter),
           sort: service.params[0]?.sort,
         },
         {
-          method: 'get',
+          method: 'post',
+          data: {
+            columns: compile(exportSettings),
+          },
           responseType: 'blob',
         },
       );
diff --git a/packages/plugins/export/src/server/actions/export-xlsx.ts b/packages/plugins/export/src/server/actions/export-xlsx.ts
index a78dbfdc0..6724c8c4e 100644
--- a/packages/plugins/export/src/server/actions/export-xlsx.ts
+++ b/packages/plugins/export/src/server/actions/export-xlsx.ts
@@ -5,8 +5,9 @@ import render from '../renders';
 import { columns2Appends } from '../utils';
 
 export async function exportXlsx(ctx: Context, next: Next) {
-  let { title, columns, filter, sort, fields, except } = ctx.action.params;
+  let { title, filter, sort, fields, except } = ctx.action.params;
   const { resourceName, resourceOf } = ctx.action;
+  let columns = ctx.action.params.values?.columns || ctx.action.params?.columns;
   if (typeof columns === 'string') {
     columns = JSON.parse(columns);
   }