admin管理员组

文章数量:1531424

使用poi导出excel的时候如果数据过多,超过65535条会报错,因为excel2003一个sheet表最多导出65535条,excel2007是10万4000多条限制。

因此遇到这种excel导出数据量比较大的时候,可以考虑如果数量超过一定数量,比如50000或者60000,新建一个sheet重新插入数据。

实例代码:

//创建HSSFWorkbook对象(excel的文档对象)

HSSFWorkbook wb = new HSSFWorkbook();

//建立新的sheet对象(excel的表单)

HSSFSheet sheet=wb.createSheet("号段数据1");

HSSFSheet sheet2=wb.createSheet("号段数据2");

//在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个

HSSFRow row1=sheet.createRow(0);

//创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个

//HSSFCell cell=row1.createCell(0);

//设置单元格内容

//cell.setCellValue("号段数据");

//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列

//sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));

//在sheet里创建第二行

HSSFRow row2=sheet.createRow(0);

//创建单元格并设置单元格内容

row2.createCell(0).setCellValue("城市");

row2.createCell(1).setCellValue("电话");

row2.createCell(2).setCellValue("是否有效");

row2.createCell(3).setCellValue("是否微信");

//在sheet里创建第二行

HSSFRow row4=sheet2.createRow(0);

//创建单元格并设置单元格内容

row4.createCell(0).setCellValue("城市");

row4.createCell(1).setCellValue("电话");

row4.createCell(2).setCellValue("是否有效");

row4.createCell(3).setCellValue("是否微信");

//在sheet里创建第三行

for (int i = 1; i < 66535; i++) {

if(i<60000){

HSSFRow row3=sheet.createRow(i);

row3.createCell(0).setCellValue("淄博");

row3.createCell(1).setCellValue("15953325566");

row3.createCell(2).setCellValue("是");

row3.createCell(3).setCellValue("是");

}else{

HSSFRow row5=sheet2.createRow(i-59999);

row5.createCell(0).setCellValue("淄博");

row5.createCell(1).setCellValue("15953325566");

row5.createCell(2).setCellValue("是");

row5.createCell(3).setCellValue("是");

}

}

//以下是输出Excel文件

下面是导出的Excel文件:

65535在计算机中代表着什么:

计算机是按照二进制储存数据的,一般用unsign int这种数据类型来储存正整数。每个unsign int型的数在计算机内存中占2个字节,每个字节有8位二进制数。也就是说,在计算机中,每个整数都是用16位2进制数来表示的。所以,最大的数就是16个1,也就是11111111 11111111。把二进制数11111111 11111111转化为十进制数就是65535。

Atitit&period;导出excel功能的设计 与解决方案

Atitit.导出excel功能的设计 与解决方案 1.1. 项目起源于背景1 1.2. Js  jquery方案(推荐)jquery.table2excel1 1.3. 服务器方案2 1.4. 详细 ...

Java web中不同浏览器间导出Excel文件名称乱码问题解决方案

问题描述: 对于不同浏览器存在对中文编码格式问题,从而在导出Excel文件时,中文文件名出现乱码的情况,即在程序中给要导出的文件指定一个中文名字时,在浏览器上出现的下载框中的文件名出现了乱码,解决如下 ...

通过Excel导入Mysql 超过65535条数据的办法

1.截取 65534条数据,进行分sheet,然后1个sheet导入一张表,最后进行整合! 2.采用TXT导入方式,TXT的导入暂时没发现限制的数据条数,下午用TXT导入74万条数据成功 3.如果遇到 ...

APK方法数超过65535及MultiDex解决方案

以下参考自官方文档配置方法数超过 64K 的应用 随着 Android 平台的持续成长,Android 应用的大小也在增加.当您的应用及其引用的库达到特定大小时,您会遇到构建错误,指明您的应用已达到 ...

使用POI导出EXCEL工具类并解决导出数据量大的问题

POI导出工具类 工作中常常会遇到一些图表需要导出的功能,在这里自己写了一个工具类方便以后使用(使用POI实现). 项目依赖 org ...

java后端导出excel

最近工作中需要导出excel.这次机智一点做个笔记,顺便写了一个比较通用的工具类.自然目前不能生成java实体类属性嵌套多次的这种没办法导出了,后续有需要的时候我再改改. 首先,java后端导出exc ...

&period;NET NPOI导出Excel详解

NPOI,顾名思义,就是POI的.NET版本.那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office的文件. 支持的文件格式包括xls, ...

Java导出Excel(附完整源码)

导出excel是咱Java开发的必备技能啦,之前项目有这个功能,现在将其独立出来,分享一下.所用技术就是SpringBoot,然后是MVC架构模式.废话不多说,直接上代码了,源码点末尾链接就可以下载. ...

前端自己导出Excel

1.导出当前页面,这是最简单的,只是导出当前页面的数据. exportData(tableid, name) { let table; let uri = 'data:application/vnd. ...

随机推荐

ORACLE表的恢复

对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表     select * from ...

比较java与c语言中数字转换成字符的不同

java java中将数字转换成字符非常方便,只要用一个"+"然后在跟一个空格行了.比如,你输入一个122 ,就会变成"122 ". import java.u ...

深入理解JavaScript-replace

replace方法是属于String对象的,可用于替换字符串. 简单介绍: StringObject.replace(searchValue,replaceValue) StringObject:字符 ...

WPF&sol;Silverlight Layout 系统概述——Measure&lpar;转&rpar;

前言 在WPF/Silverlight当中,如果已经存在的Element无法满足你特殊的需求,你可能想自定义Element,那么就有可能会面临重写MeasureOverride和ArrangeOver ...

编译器对C&plus;&plus; 11变参模板(Variadic Template)的函数包扩展实现的差异

编译器对C++ 11变参模板(Variadic Template)的函数包扩展实现的差异 题目挺绕口的.C++ 11的好东西不算太多,但变参模板(Variadic Template)肯定是其中耀眼的一 ...

OAuth 2&period;0 开发完全详解

--------------------------基础篇------------------------------- I:OAuth 2.0 概述 首先大家来看看国内新浪跟腾讯这两大头对OAuth ...

&lbrack;MSDN&rsqb; GROUP BY &lpar;Transact-SQL&rpar;

来源: https://msdn.microsoft/zh-cn/library/ms177673(v=sql.110).aspx 按 SQL Server 中一个或多个列或表达式的值将一组选 ...

Session or Cookie?是否有必要使用Tomcat等一下Web集装箱Session

Cookie是HTTP协议标准下的存储用户信息的工具.浏览器把用户信息存放到本地的文本文件里. Session是基于Cookie实现的. 2011年4月,武汉群硕面试的时候(实习生).面试官也问过这个 ...

C&num; Hashtable

哈希表(Hashtable) 在.NET Framework中,Hashtable 是 System.Collections 命名空间提供的一个容器,用于处理和表现类似 key-value 的键值对, ...

SpringBoot入门 &lpar;九&rpar; MQ使用

本文记录学习在Spring Boot中使用MQ. 一 什么是MQ MQ全称(Message Queue)又名消息队列,是一种异步通讯的中间件.它的作用类似于邮局,发信人(生产者)只需要将信(消息)交给 ...

本文标签: 解决方案mysqlExcel