c#NPOI导出2007版本excel

2003和2007版本区别:

HSSFWorkbook(2003)

IWorkbook(2007版本)

写完之后会有个问题,导出会报错【流已关闭】。

NPOI生产.xlsx文件件时,在使用book.Write(ms);后,会关闭流,这样导致再次使用Respons输出流的时候就出错了。

我看到一些网友提供的解决办法是:

public class NPOIMemoryStream:MemoryStream
    {
        /// <summary>
        /// 获取流是否关闭
        /// </summary>
        public bool IsColse
        {
            get;
            private set;
        }

        public NPOIMemoryStream(bool colse=false)
        {
            IsColse = colse;
        }

        public override void Close()
        {
            if (IsColse)
            {
                base.Close();
            }

        }
    }

使用自定义流代替内存流,这样就可以保证流不会被自定关闭了

时间: 2024-08-01 10:44:24

c#NPOI导出2007版本excel的相关文章

NPOI导出数据到Excel

NPOI导出数据到Excel 前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作. 方法 先去官网:http://npoi.codeplex.com/下载需要

JAVA用POI读取和创建2003和2007版本Excel完美示例

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; import j

C# NPOI导出数据到Excel

1 public void Export() 2 { 3 //创建工作簿对象 4 IWorkbook workbook = new XSSFWorkbook(); 5 6 ExportStatistics(workbook); 7 ExportHumidifyLog(workbook); 8 ExportHumidifyEventLog(workbook); 9 ExportHandlingEventLog(workbook); 10 11 //创建流对象并设置存储Excel文件的路径 12 u

2007版本excel多个sheet页数据通过ibatis批量导入数据库

页面部分 <form method="post" name ="test" enctype="multipart/form-data"> <input type="file" name="file"/> </form> 实体类部分 public Class Test{ private String id; private String name; private Stri

POI导出高版本Excel——(五)

1 package POI; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 7 import org.apache.commons.io.FileUtils; 8 import org.apache.poi.ss.usermodel.Cell; 9 import org.apache.poi.ss.usermodel.Row; 10 import org.ap

NPOI导出多张图片到Excel

常用NPOI导出数据到excel,但没有试过如何导出图片.NPOI最大的特点就是不依赖于Excel组件,服务端不需要安装Excel.在单元格中插入图片主要是用HSSFClientAnchor对象.他有8个参数. HSSFClientAnchor anchor = new HSSFClientAnchor(dx1, dy1, dx2, dy2, col1, row1, col2, row2); 前面四个表示在单元格中两个点的位置,后面四个表示是哪个单元格.先看代码. public FileResu

导出数据到Excel方法总结

导出数据到Excel方法总结 一,问题的提出 近来在网上经常有人问怎样把数据导出到Excel中?针对这个问题网上也有很多资料.大都比较的琐碎.本人当前从事的项目中,刚好涉及到这些内容.就顺便做了一些归纳整理.共享给大家.避免大家再花费很多时间研究这个老生长谈的问题. 二,解决方法 1.       用NPOI导出数据到Excel. 简介:NPOI是一个开源的dotnet类库,官方网站:http://npoi.codeplex.com/. 优点:支持Excel 2003格式,读写速度快,基于.NE

在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)

前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 3.POI读取Excel有两种格式一个是HSSF,另一个是XSSF. HSSF和XSSF的区别如下: HSSF

C# 使用NPOI导出Excel,首行冻结,添加筛选,填充颜色,列宽自适应

使用NuGet安装NPOI,添加以下命名空间 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.SS.Util; using NPOI.XSSF.UserModel; 添加类 ExcelExporter public static class ExcelExporter { /// <summary> /// DataTable导出Excel /// </summary> /// <param nam