feat:导出返回数据改为文件流
This commit is contained in:
parent
6611f513f3
commit
f5c0588f42
@ -8,6 +8,8 @@ using OfficeOpenXml;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Web;
|
||||
using ff = System.IO;
|
||||
|
||||
namespace ZR.Admin.WebApi.Controllers
|
||||
{
|
||||
@ -53,6 +55,21 @@ namespace ZR.Admin.WebApi.Controllers
|
||||
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 方法
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -215,7 +215,7 @@ namespace ZR.Admin.WebApi.Controllers.System
|
||||
|
||||
//调试模式需要加上
|
||||
string sFileName = ExportExcel(list.Result, "user", "用户列表");
|
||||
return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
|
||||
return ExportExcel("export", sFileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -156,7 +156,7 @@ $if(replaceDto.ShowBtnExport)
|
||||
return ToResponse(ResultCode.FAIL, "没有要导出的数据");
|
||||
}
|
||||
string sFileName = ExportExcel(list, "${replaceDto.ModelTypeName}", "${genTable.FunctionName}");
|
||||
return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
|
||||
return ExportExcel("export", sFileName);
|
||||
}
|
||||
$end
|
||||
|
||||
|
||||
@ -1,4 +1,10 @@
|
||||
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}分页查询
|
||||
@ -9,6 +15,11 @@ export function list${genTable.BusinessName}(query) {
|
||||
url: '${genTable.ModuleName}/${genTable.BusinessName}/list',
|
||||
method: 'get',
|
||||
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}
|
||||
export function export${genTable.BusinessName}(query) {
|
||||
return request({
|
||||
url: '${genTable.ModuleName}/${genTable.BusinessName}/export',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
export async function export${genTable.BusinessName}(query) {
|
||||
await downFile('${genTable.ModuleName}/${genTable.BusinessName}/export', { ...query })
|
||||
}
|
||||
|
||||
$if(showCustomInput)
|
||||
|
||||
@ -566,11 +566,8 @@ function handleExport() {
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(function () {
|
||||
return export${genTable.BusinessName}(queryParams)
|
||||
})
|
||||
.then((response) => {
|
||||
proxy.download(response.data.path)
|
||||
.then(async () => {
|
||||
await export${genTable.BusinessName}(queryParams)
|
||||
})
|
||||
}
|
||||
$end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user