Browse Source

解决导出问题,其它有错误

master
me 3 weeks ago
parent
commit
8d994fb2ba
  1. 22
      API/Wood.Service/Controllers/NormalBaseController.cs

22
API/Wood.Service/Controllers/NormalBaseController.cs

@ -87,6 +87,8 @@ namespace Wood.Service.Controllers
await _repository.DeleteAsync(id);
return new JsonResult(new { Code = 200, Message = "删除成功!" }); ;
}
[HttpGet]
public async Task<ActionResult<PagedResult<T>>> GetPaged(
[FromQuery] int pageNumber = 1,
@ -110,11 +112,13 @@ namespace Wood.Service.Controllers
var pagedResult = await _repository.GetPagedAsync(filter, pagingParams);
return Ok(pagedResult);
}
public async Task<FileStreamResult> Export([FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null)
public async Task<FileStreamResult> Export<T>([FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null) where T : class, new()
{
var pagingParams = new PagingParams
{
@ -133,7 +137,7 @@ namespace Wood.Service.Controllers
}
protected async Task<FileStreamResult> ExportFile(ICollection<T> dtos, string fileName)
protected async Task<FileStreamResult> ExportFile<T>(ICollection<T> dtos, string fileName) where T: class, new()
{
var excelExporter = HttpContext.RequestServices.GetRequiredService<IExcelExporter>();
var res = await excelExporter.ExportAsByteArray<T>(dtos);
@ -142,7 +146,7 @@ namespace Wood.Service.Controllers
[HttpGet]
public async Task<IActionResult> GetImportTemplate()
public async Task<IActionResult> GetImportTemplate<T>() where T: class, new()
{
try
{
@ -150,8 +154,8 @@ namespace Wood.Service.Controllers
var importer = new ExcelImporter();
// 生成导入模板流(这里假设使用 YourModel 作为导入模型)
using var stream = new MemoryStream();
await importer.GenerateTemplate(stream, typeof(T));
byte[] by = await importer.GenerateTemplateBytes<T>();
using var stream = new MemoryStream(by);
stream.Seek(0, SeekOrigin.Begin);
// 设置友好的文件名,例如:"导入模板_20250530.xlsx"

Loading…
Cancel
Save