Excel导出--突破

在做项目的时候,经常有数据导出的需求,当数据量较小的时候,随便找个例子参数一下,还可以应对;

但是随着数据的增长,问题也随之而来,比较当数据量超过65536的时候,当单元格的字符数超过255的时候,有些实现方式就显示力不从心了。

实践发现,NPOI的表现还是不错的,因为上面的问题根本不是问题。

准备:

1. 下载NPOI http://npoi.codeplex.com/releases

2. 顺手的开发工具

代码如下:

class Program
    {
        static void Main(string[] args)
        {
            writeExcel();

            Console.WriteLine("done");
            Console.ReadKey();

        }

        static void writeExcel()
        {
            IWorkbook wb = new XSSFWorkbook();
            ISheet tb = wb.CreateSheet();

            //标题
            IRow header = tb.CreateRow(0);

            ICell headerCell = header.CreateCell(0);
            headerCell.SetCellValue("序号");

            headerCell = header.CreateCell(1);
            headerCell.SetCellValue("内容");

            //内容
            for (int i = 0; i < 100000; i++)
            {
                IRow row = tb.CreateRow(i + 1);

                ICell cell = row.CreateCell(0);
                cell.SetCellValue(i + 1);

                cell = row.CreateCell(1);
                cell.SetCellValue("抗日战争暨世界反法西斯战争胜利70周年抗日战争暨世界反法西斯战争胜利70周年抗日战争暨世界反法西斯战争胜利70周年抗日战争暨世界反法西斯战争胜利70周年抗日战争暨世界反法西斯战争胜利70周年");
            }

            using (FileStream fs = File.OpenWrite(@"e:\test.xls"))
            {
                wb.Write(fs);
            }
        }

    }

  

更详细的资料请参数NPOI官方文档:

http://npoi.codeplex.com/documentation

时间: 2024-11-07 10:22:21

Excel导出--突破的相关文章

displaytag的Excel导出实践

本文转自 http://lingceng.iteye.com/blog/1820081/ Displaytag官网有1.0, 1.1, 1.2等,注意找到对应的版本.源码和API可以在Maven库中找到.   常规的使用不是问题,这里说说关于Excel导出的问题,中文乱码,使用POI等.我使用的是Displaytag1.1. 基本导出功能   这种情况只需引入displaytag-1.1.jar.   设置column属性media="html"将不会导出,media="ex

ExtJS实现Excel导出

1. 使用POI组件实现excel导出功能 //获取问题列表 List<Suggestion> targetStockList = suggestionService.getSuggestionList(map);           //创建一个新的Excel         HSSFWorkbook workBook = new HSSFWorkbook();         //创建sheet页         HSSFSheet sheet = workBook.createSheet

二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件

回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa 前言:本章介绍除DotNetBar2控件套件之外的另外一些常用控件,包括Grid++Report报表.条形码.Excel导出.图表控件ZedGraph:类似这些控件网上免费开源的太少了,经过一番对比和使用感受最后决定把这几个控件整合到EFW框架中供大家选择使用: 本

java excel导出

1.  Excel导出的核心方法在ExportExcel类中,使用时请将该类完整的引入. 1 import java.io.IOException; 2 import java.io.OutputStream; 3 import java.lang.reflect.Field; 4 import java.lang.reflect.InvocationTargetException; 5 import java.lang.reflect.Method; 6 import java.text.Si

利用Aspose.Cells完成easyUI中DataGrid数据的Excel导出功能

我准备在项目中实现该功能之前,google发现大部分代码都是利用一般处理程序 HttpHandler实现的服务器端数据的Excel导出,但是这样存在的问题是ashx读取的数据一般都是数据库中视图的数据,难免会含有方便操作的 主键ID这列的记录.现在项目需要在easyUI的DataGrid中显示的数据能全部导出Excel,包括DataGrid中的中文标题,其他的统统不 要. 完成该功能所需的工具和环境:Newtonsoft.Json序列化和反序列化类库.easyUI前端UI框架.HttpHandl

excel导出功能优化

先说说优化前,怎么做EXCEL导出功能的: 1. 先定义一个VO类,类中的字段按照EXCEL的顺序定义,并且该类只能用于EXCEL导出使用,不能随便修改. 2. 将查询到的结果集循环写入到这个VO类中. 3. 将这个VO类的数据集写入到EXCEL中. 缺点: 1.每次做一个功能的excel导出需要定义一个vo类,并且vo类不可随便变更. 2. 从数据库查询到结果集不能直接输出到excel,需要二次遍历写入到vo中. 3. excel导出的顺序必须与vo定义的字段顺序一致,并且输出vo中所有的字段

偷懒小工具 - Excel导出公共类

说明 最近接了一个任务,就是做一个列表的Excel导出功能.并且有很多页面都会使用这个功能. 导出的Excel大体格式如图 很简单的列表,标题加背景色,然后不同类型,显示方式不一样.对齐方式不一样.不同页面除了内容以外,大体形式都差不多. 当时本来是想直接用NPOI,IRow ICell.这样进行拼接页面,最简单也最方便. 但是很多页面,都进行这种类似的设计.我实在是懒得做这种重复功能.所以花了一点时间,整理了一下帮助类. 使用 做好这个帮助类以后只要进行两点调用 1.制作导出Excel的数据模

java反射学习之二万能EXCEL导出

一.EXCEL导出的实现过程 假设有一个对象的集合,现在需要将此集合内的所有对象导出到EXCEL中,对象有N个属性:那么我们实现的方式是这样的: 循环这个集合,在循环集合中某个对象的所有属性,将这个对象的所有属性作为EXCEL的列,该对象占据EXCEL的一行 二.万能EXCEL导出(以JXL为例,jxl.poi等excel导入导出的jar包不做介绍了) 1.创建java工程.引入jxl的jar包 2.直接上代码 Book.java /** * Book对象 * @author bwy * */

(Excel导出失败)检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失

在DCOM 中不存在WORD.EXCEL等OFFICE组件 最近在做一个关于office转存PDF的Web项目.开发过程一切顺利. 起初在网上找到一些Word,PPT转PDF的代码.很好用.一切顺利项目开发成功.在这里需要说明一点,PPT中会存在流媒体内容,如果存在这些内容的时候是不能成功转换为PDF的.需要手动将相关内容删除后才可以转换.各位如果遇到些奇怪的问题的时候,希望检查下PPT中是不是存在这些内容. 项目开发结束,问题就来了.因为需要搭建测试环境.就拿手边一台防止的机器搭建了测试环境.