用netcore语言用NPOI写一个以文件流形式的Excel导出功能
下面是使用NPOI库在.NET Core中实现以文件流形式导出Excel的示例代码:
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
public class ExcelExporter
{
public byte[] ExportToExcel()
{
// 创建Excel工作簿
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
// 添加表头
IRow headerRow = sheet.CreateRow(0);
headerRow.CreateCell(0).SetCellValue("Column1");
headerRow.CreateCell(1).SetCellValue("Column2");
headerRow.CreateCell(2).SetCellValue("Column3");
// 添加数据行
for (int i = 1; i <= 10; i++)
{
IRow dataRow = sheet.CreateRow(i);
dataRow.CreateCell(0).SetCellValue($"Data {i}-1");
dataRow.CreateCell(1).SetCellValue($"Data {i}-2");
dataRow.CreateCell(2).SetCellValue($"Data {i}-3");
}
// 将Excel数据写入内存流
using (var memoryStream = new MemoryStream())
{
workbook.Write(memoryStream);
return memoryStream.ToArray();
}
}
}
使用方法:
var exporter = new ExcelExporter();
byte[] fileBytes = exporter.ExportToExcel();
// 将文件字节数组保存为Excel文件
using (FileStream fileStream = new FileStream("ExportedFile.xlsx", FileMode.Create))
{
fileStream.Write(fileBytes, 0, fileBytes.Length);
}
在上面的示例中,ExportToExcel方法创建了一个Excel工作簿,并添加了表头和数据行。然后,使用MemoryStream将Excel数据写入内存流,并将内存流转换为字节数组返回。
最后,可以使用FileStream将字节数组保存为Excel文件。请确保在使用FileStream保存文件时提供正确的文件路径和名称
原文地址: https://www.cveoy.top/t/topic/hLQg 著作权归作者所有。请勿转载和采集!