1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| [HttpGet]
public async Task<string> Export()
{
using var package = new ExcelPackage();
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
// Set headers
string[] headers = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
for (int i = 0; i < headers.Length; i++)
{
worksheet.Cells[1, i + 1].Value = headers[i];
worksheet.Cells[1, i + 1].Style.Font.Bold = true;
}
// Mock data
var data = Enumerable.Range(1, 10).Select(i => new ExcelDemoDto
{
AAA = $"A{i}", BBB = $"B{i}", CCC = $"C{i}",
DDD = $"D{i}", EEE = $"E{i}", FFF = $"F{i}"
}).ToList();
// Populate data
int row = 2;
foreach (var item in data)
{
worksheet.Cells[row, 1].Value = item.AAA;
worksheet.Cells[row, 2].Value = item.BBB;
worksheet.Cells[row, 3].Value = item.CCC;
worksheet.Cells[row, 4].Value = item.DDD;
worksheet.Cells[row, 5].Value = item.EEE;
worksheet.Cells[row, 6].Value = item.FFF;
row++;
}
// Save file
string path = Path.Combine(Directory.GetCurrentDirectory(), "export.xlsx");
await package.GetAsByteArray().DownloadAsync(path);
return $"File saved to: {path}";
}
|