在.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, "导出失败");
}

