在.Net Core中可以使用EPPLUS.Core包来实现Excel文件的操作,它不支持导出2003版的Excel(xls)。
ExcelWorksheet.Cells对象支持多种数据来源加载,包括Text、Arrays、Collection、DataTable、DataReader。
示例代码
List<user> list = _SerUser.GetListByExport(); int isAdopt = 0; string webRootFolder = _HostingEnvironment.WebRootPath; string relativeFolder = $"/export/{DateTime.Now.ToString("yyyy")}"; string absoluteFolder = $"{webRootFolder}/{relativeFolder}"; if (!Directory.Exists(absoluteFolder)) { Directory.CreateDirectory(absoluteFolder); } string fileName = $"{Guid.NewGuid()}.xlsx"; string relativeFilePath = $"{relativeFolder}/{fileName}"; string absoluteFilePath = $"{absoluteFolder}/{fileName}"; try { FileInfo file = new FileInfo(Path.Combine(webRootFolder, absoluteFilePath)); using (ExcelPackage package = new ExcelPackage(file)) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("sheetname"); worksheet.Cells.LoadFromCollection(list, true); package.Save(); isAdopt = 1; } return new ApiResult(isAdopt, "导出成功", relativeFilePath); } catch { isAdopt = 0; return new ApiResult(isAdopt, "导出失败"); }