feat:导出返回数据改为文件流

This commit is contained in:
不做码农 2022-12-05 18:37:40 +08:00
parent 6611f513f3
commit f5c0588f42
5 changed files with 34 additions and 13 deletions

View File

@ -8,6 +8,8 @@ using OfficeOpenXml;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Web;
using ff = System.IO;
namespace ZR.Admin.WebApi.Controllers namespace ZR.Admin.WebApi.Controllers
{ {
@ -53,6 +55,21 @@ namespace ZR.Admin.WebApi.Controllers
return ToResponse(GetApiResult(resultCode, msg)); return ToResponse(GetApiResult(resultCode, msg));
} }
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="path"></param>
/// <param name="fileName"></param>
/// <returns></returns>
protected IActionResult ExportExcel(string path, string fileName)
{
IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment));
string fileDir = Path.Combine(webHostEnvironment.WebRootPath, path, fileName);
var stream = ff.File.OpenRead(fileDir); //创建文件流
return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", HttpUtility.UrlEncode(fileName));
}
#region #region
/// <summary> /// <summary>

View File

@ -215,7 +215,7 @@ namespace ZR.Admin.WebApi.Controllers.System
//调试模式需要加上 //调试模式需要加上
string sFileName = ExportExcel(list.Result, "user", "用户列表"); string sFileName = ExportExcel(list.Result, "user", "用户列表");
return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); return ExportExcel("export", sFileName);
} }
} }
} }

View File

@ -156,7 +156,7 @@ $if(replaceDto.ShowBtnExport)
return ToResponse(ResultCode.FAIL, "没有要导出的数据"); return ToResponse(ResultCode.FAIL, "没有要导出的数据");
} }
string sFileName = ExportExcel(list, "${replaceDto.ModelTypeName}", "${genTable.FunctionName}"); string sFileName = ExportExcel(list, "${replaceDto.ModelTypeName}", "${genTable.FunctionName}");
return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); return ExportExcel("export", sFileName);
} }
$end $end

View File

@ -1,4 +1,10 @@
import request from '@/utils/request' import request from '@/utils/request'
$if(replaceDto.SelectMulti == 1)
import QS from 'qs'
$end
$if(replaceDto.ShowBtnExport)
import { downFile } from '@/utils/request'
$end
/** /**
* ${genTable.functionName}分页查询 * ${genTable.functionName}分页查询
@ -9,6 +15,11 @@ export function list${genTable.BusinessName}(query) {
url: '${genTable.ModuleName}/${genTable.BusinessName}/list', url: '${genTable.ModuleName}/${genTable.BusinessName}/list',
method: 'get', method: 'get',
params: query, params: query,
$if(replaceDto.SelectMulti == 1)
paramsSerializer: function (params) {
return QS.stringify(params, { indices: false })
}
$end
}) })
} }
@ -81,12 +92,8 @@ export function clear${genTable.BusinessName}() {
} }
// 导出${genTable.functionName} // 导出${genTable.functionName}
export function export${genTable.BusinessName}(query) { export async function export${genTable.BusinessName}(query) {
return request({ await downFile('${genTable.ModuleName}/${genTable.BusinessName}/export', { ...query })
url: '${genTable.ModuleName}/${genTable.BusinessName}/export',
method: 'get',
params: query
})
} }
$if(showCustomInput) $if(showCustomInput)

View File

@ -566,11 +566,8 @@ function handleExport() {
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}) })
.then(function () { .then(async () => {
return export${genTable.BusinessName}(queryParams) await export${genTable.BusinessName}(queryParams)
})
.then((response) => {
proxy.download(response.data.path)
}) })
} }
$end $end