ClosedXML生成格式错误的xlsx

jac*_*ith 2 excel openxml malformed closedxml

当我打开我正在获取的文件时,无法使用ClosedXML输出一个好的文件

我们发现'filename.xlsx'中的某些内容存在问题.您是否希望我们尽可能多地恢复?如果您信任此工作簿的来源,请单击"是".

using (var workbook = new XLWorkbook())
{
    var worksheet = workbook.AddWorksheet("name");
    worksheet.Row(1).Cell(i + 1).SetValue("test");
    worksheet.Row(k + 2).Cell(column.Order + 1).SetValue("test value");
    using (var memoryStream = new MemoryStream())
    {
        workbook.SaveAs(memoryStream);
        memoryStream.Seek(0, SeekOrigin.Begin);
        return memoryStream.GetBuffer();
    }
}
Run Code Online (Sandbox Code Playgroud)

jac*_*ith 7

它使用ToArray()而不是GetBuffer()来解决问题.干杯

using (var workbook = new XLWorkbook())
{
    var worksheet = workbook.AddWorksheet("name");
    worksheet.Row(1).Cell(i + 1).SetValue("test");
    worksheet.Row(k + 2).Cell(column.Order + 1).SetValue("test value");
    using (var memoryStream = new MemoryStream())
    {
        workbook.SaveAs(memoryStream);
        memoryStream.Position = 0;
        return memoryStream.ToArray();
    }
}
Run Code Online (Sandbox Code Playgroud)