针对C#中MemoryStream写入excel 文件的一些异常给出的一些解决方案

本文介绍了解决C#通过MemoryStream写入*.xlsx文件导致Microsoft Office Excel报错的问题。当使用NPOI.XSSF的XSSFWorkbook生成excel并用MemoryStream.GetBuffer()方法时,Office会因无效字节报修复异常。解决方案是改用MemoryStream.ToArray(),确保返回实际长度的数据,避免异常。
摘要由CSDN通过智能技术生成

关于"发现*.xlsx中部分内容有问题,是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击"是""的解决方案。

异常代码
关于这个问题,我给出的解决方案是针对使用C#中MemoryStream流写入文件的方法,首先贴出利用NPOI.XSSF中XSSFWorkbook生成excel文件的代码:

public class Excel
{
		/// <summary>
        /// 生成EXCEL文件(.xlsx)
        /// </summary>
        /// <param name="data">待保存的数据</param>
        /// <param name="header">表头,为空时则无表头</param>
        /// <returns></returns>
	public static XSSFWorkbook GenerateXLSX(IList<List<string>> data, IList<string> header = null, string author = null, string sheetName = "Sheet1")
        {
            XSSFWorkbook xlsx = new XSSFWorkbook();
            ISheet sheet = xlsx.CreateSheet(sheetName);

            Int32 rowID = 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值