gpt4 book ai didi

c# - 如何将使用封闭的 xml 创建的 excel 文件转换为字节格式

转载 作者:太空宇宙 更新时间:2023-11-03 21:41:31 25 4
gpt4 key购买 nike

您好,我正在使用 closedxML DLL 导出到 excel,我有如下所示的静态方法

    public static void WriteToExcel(string fileName, List<CP> pages)
{
var wb = new XLWorkbook();
byte[] file;


var ws = wb.Worksheets.Add("CPs");
WriteCostHeader(ws);

////write all the header columns
//for (int i = 0; i < pages.Count; i++)
int iRow = 2;
foreach(var page in pages)
{
WriteCostPage(ws, page, iRow++);

WriteCostItemHead(ws, iRow++);

foreach(var item in page.Items)
{
WriteCostItem(ws, item, iRow++);
}
iRow++;
}

wb.SaveAs(fileName);
}

我在下面这样的方法中调用上面的函数

public  static List<CP> Init()
{

//binding items to to list
}

static void Main(string[] args)
{
byte[] file;
file = ExcelProvider.WriteToExcel("D:\\Temp\\Test1.xls", Init());
//Console.WriteLine("done");
//Console.ReadLine();
}

public byte[] CreatePackage()
{
string fileName = string.Format("{0}.xlsx", "Generated");
byte[] excelFile;
// getting error here cannot convert void to byte[]
excelFile = ExcelProvider.WriteToExcel(fileName, Init());
}

但我需要以字节为单位获取结果 excel 表,我需要将其存储在内存流中,稍后我可以将其用于进一步的目的..

但我不确定如何以字节格式获取创建的 excel 文件...

任何人都可以就此提出任何想法或解决方案......非常感谢...

最佳答案

关闭的 XML 工作簿保存到流中。您可以使用内存流。然后调用 MemoryStream.ToArray() 获取它的字节。所以……

var wb = new XLWorkbook();
//...
var workbookBytes = new byte[0];
using (var ms = new MemoryStream())
{
wb.SaveAs(ms);
workbookBytes = ms.ToArray();
}

关于c# - 如何将使用封闭的 xml 创建的 excel 文件转换为字节格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19091202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com