Asp.Net Core 엑셀 내 보 내기 기능 실현 방법
5178 단어 asp.netcoreexcel도 출
Closed XML 설치
Excel 내 보 내기 기능 을 실현 하려 면 Asp.Net Core 에 dll 이 많이 있 습 니 다.그 중 하 나 는 Closed XML 이 라 고 합 니 다.시각 화 된 인터페이스 NuGet package manager 를 통 해 설치 할 수도 있 고 명령 행 NuGet package manager console 을 사용 하여 다음 명령 을 수행 할 수도 있 습 니 다.
Install-Package ClosedXML
데 이 터 를 CSV 파일 로 내 보 내기데 이 터 를 CSV 파일 로 유도 하 는 것 은 매우 간단 합 니 다.모든 줄 의 데 이 터 를 사용 하고 분리 하면 됩 니 다.NuGet 의 CsvExport 나 AWright 18.Simple CSVExporter 로 이 루어 질 수 있 습 니 다.물론 자신 이 매우🐂👃,직접 칼 을 써 서 이 룰 수 있 습 니 다.다음은 제 가 직접 이 루 려 고 합 니 다.아래 에 정 의 된 Author 류 를 먼저 보 겠 습 니 다.
public class Author
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
그리고 authors 목록 에 데 이 터 를 넣 습 니 다.다음 코드 는 다음 과 같 습 니 다.
List<Author> authors = new List<Author>
{
new Author { Id = 1, FirstName = "Joydip", LastName = "Kanjilal" },
new Author { Id = 2, FirstName = "Steve", LastName = "Smith" },
new Author { Id = 3, FirstName = "Anand", LastName = "Narayaswamy"}
};
Action 의 csv 내 보 내기 기능 을 실현 하기 위해 DownloadCommaSeperatedFile 방법 을 정의 합 니 다.
public IActionResult DownloadCommaSeperatedFile()
{
try
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.AppendLine("Id,FirstName,LastName");
foreach (var author in authors)
{
stringBuilder.AppendLine($"{author.Id},
{author.FirstName},{author.LastName}");
}
return File(Encoding.UTF8.GetBytes
(stringBuilder.ToString()), "text/csv", "authors.csv");
}
catch
{
return Error();
}
}
XLSX 파일 로 데 이 터 를 내 보 냅 니 다.Excel 의 워 크 북 은 여러 개의 워 크 시트 로 구성 되 어 있 으 며,아래 코드 는 워 크 북 을 만 드 는 데 사용 할 수 있 습 니 다.
var workbook = new XLWorkbook();
다음은 워 크 시트 를 만 든 다음 워 크 시트 에 데 이 터 를 입력 하 십시오.코드 는 다음 과 같 습 니 다.
IXLWorksheet worksheet = workbook.Worksheets.Add("Authors");
worksheet.Cell(1, 1).Value = "Id";
worksheet.Cell(1, 2).Value = "FirstName";
worksheet.Cell(1, 3).Value = "LastName";
for (int index = 1; index <= authors.Count; index++)
{
worksheet.Cell(index + 1, 1).Value = authors[index - 1].Id;
worksheet.Cell(index + 1, 2).Value = authors[index - 1].FirstName;
worksheet.Cell(index + 1, 3).Value = authors[index - 1].LastName;
}
마지막 으로 워 크 북 을 메모리 스 트림(memory stream)으로 바 꾸 고 Controller.Action 의 FileContentResult 를 통 해 클 라 이언 트 에 게 되 돌려 줍 니 다.코드 는 다음 과 같 습 니 다.
using (var stream = new MemoryStream())
{
workbook.SaveAs(stream);
var content = stream.ToArray();
return File(content, contentType, fileName);
}
엑셀 다운로드다음은 Excel 의 모든 업무 논리 코드 를 내 보 냅 니 다.이 Action 은 Excel 내 보 내기 기능 을 실 현 했 습 니 다.
public IActionResult DownloadExcelDocument()
{
string contentType = "application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet";
string fileName = "authors.xlsx";
try
{
using (var workbook = new XLWorkbook())
{
IXLWorksheet worksheet =
workbook.Worksheets.Add("Authors");
worksheet.Cell(1, 1).Value = "Id";
worksheet.Cell(1, 2).Value = "FirstName";
worksheet.Cell(1, 3).Value = "LastName";
for (int index = 1; index <= authors.Count; index++)
{
worksheet.Cell(index + 1, 1).Value =
authors[index - 1].Id;
worksheet.Cell(index + 1, 2).Value =
authors[index - 1].FirstName;
worksheet.Cell(index + 1, 3).Value =
authors[index - 1].LastName;
}
using (var stream = new MemoryStream())
{
workbook.SaveAs(stream);
var content = stream.ToArray();
return File(content, contentType, fileName);
}
}
}
catch(Exception ex)
{
return Error();
}
}
이 편 은 Closed XML 의 모든 내용 입 니 다.Excel 의 데 이 터 를 더욱 복잡 하 게 조작 하려 면 Magicodes.IE 를 사용 하 십시오.Closed XML 에 대한 더 많은 내용 은 참고 하 십시오https://github.com/ClosedXML/ClosedXML링크
여기 서 Asp.Net Core 가 Excel 내 보 내기 기능 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 Asp.Net Core 가 Excel 내 보 내기 내용 을 실현 하 는 것 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ASP.NET Core 에서 전역 이상 차단 을 실현 하 는 전체 절차UseExceptionHandler 확장 방법 은 ExceptionHandler 미들웨어 를 Asp.net Core 의 요청 처리 파이프 에 등록 한 다음 IException Handler Feature 인터페이스의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.