本篇文章给大家谈谈javapoi导出大数据,以及poi导出数据太大怎么处理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、java poi导出excel2、java利用poi读大数据量xlsx除了用xml方式读取外,还有其他方法吗3、如何用java代码生成一个大数据的excel文件?4、poi导出excel时数据大于6W如何新建一个sheet(JAVA)5、如何用JAVA导出Excel?(使用POI)6、java poi Excel2007以上的版本导入数据库 数据量大 内存溢出如何解决
java poi导出excel
用spire.xls.jar也可以导出excel, 代码更简单
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class InsertArray {
public static void main(String[] args) {
//创建Workbook对象
Workbook wb = new Workbook();
//获取第一张工作表
Worksheet sheet = wb.getWorksheets().get(0);
//定义一维数据
String[] oneDimensionalArray = new String[]{“苹果”, “梨子”, “葡萄”, “香蕉”};
//将数组从指定单个格开始写入工作表,true表示纵向写入,设置为false为横向写入
sheet.insertArray(oneDimensionalArray, 1, 1, true);
//定义二维数组
String[][] twoDimensionalArray = new String[][]{
{“姓名”, “年龄”, “性别”, “学历”},
{“小张”, “25”, “男”, “本科”},
{“小王”, “24”, “男”, “本科”},
{“小李”, “26”, “女”, “本科”}
};
//从指定单元格开始写入二维数组到工作表
sheet.insertArray(twoDimensionalArray, 1, 3);
//保存文档
wb.saveToFile(“InsertArrays.xlsx”, ExcelVersion.Version2016);
}
}
java利用poi读大数据量xlsx除了用xml方式读取外,还有其他方法吗
poi是把excel当做【文档】来处理的,自然只有XSSFWorkbook类来操作它,也就是你说的xml方式。在poi的眼里,excel文档里的并不是【数据】而是【表格】。
你如果想要把excel当做【数据源】来处理,应该用odbc的方式,将你需要的excel文件变成一个odbc数据源,然后用ResultSet set = smt.executeQuery(“select * from [sheet1$]”);来读取数据,效率跟access表现相当(毕竟excel有数据量上限,实际表现大多数时候都比access还要快)
如何用java代码生成一个大数据的excel文件?
POI包解析 或者 只是xls的话 用 jxl 也行 poi 全支持 xls 和xlsx
然后写入 保存 ok
HSSFSheet sheet= null;
for(int sherrt= 0; sherrt wr.getNumberOfSheets();sherrt++){
sheet = wr.getSheetAt(sherrt);// 获得sheet工作簿HSSFSheet
for(int i = 0 ; i=sheet.getLastRowNum(); i++){
HSSFRow row = sheet.getRow(i);//获得行数
Iterator o = row.iterator(); //得到每行的值
int j= 0 ;
while(o.hasNext()){
if(!key){
kk = o.next().toString();
if(StrC.getSimilarityRatio(kk, Vle[j])0.7){j++;}
}else{
GetVAR[j] = o.next().toString();
j++;
}
}
这个是得到 也可以写入
poi导出excel时数据大于6W如何新建一个sheet(JAVA)
是的,excel是有60000行的限制。如果你能够正确的导出excel,说明你已经掌握了excel的操作。我提供一种思路供你参考:判断你要导出数据的行数,以6万为基数,进行程序判断。可以通过循环的方式,计算出需要的sheet数量,每次循环建立一个sheet,然后把数据导入。关键的问题在于创建新的sheet和,计算导出的数据。希望对你有所帮助吧。
如何用JAVA导出Excel?(使用POI)
导出Excle有3种方法,
第一是使用POI组件操作Excle
第二是使用JXL组件操作Excle
第三是最简单的,静态生成Excle
推荐第3中。不用话时间去学习
下面是静态生成Excle具体实现:
在你 index.jsp中写脚本函数:
script type=”text/javascript”
function saveToExcel(tableId,fileName){
var table = document.getElementById(tableId);
ToExcel.tableContent.value = table.outerHTML;
if(fileName==null){fileName = “export”;}
ToExcel.fileName.value = fileName;
ToExcel.submit();
}
/script
写一个form
form name=”ToExcel” id=”ToExcel” method=”post” action=”createExcel.jsp” target=”_blank”
input type=”hidden” name=”tableContent” value=”” readonly/
input type=”hidden” name=”fileName” value=”” readonly/
/form
写一个链接
a href=”javascript:saveToExcel(‘ec_table’,’equipment.xls’)”导出数据/a
再创建一个jsp页面createExcel.jsp
以下是页面内容
%@ page language=”java” contentType=”text/html;charset=UTF-8″%
%!
private String encode(String str){
String nStr = “”;
try{
nStr = new String(str.getBytes(“ISO-8859-1″),”UTF-8”);
}catch(Exception e){
}
return nStr;
}
%
%
request.setCharacterEncoding(“UTF-8”);
response.setContentType(“application/vnd.ms-excel; charset=UTF-8”);
String path=request.getContextPath();
String tableContent = request.getParameter(“tableContent”);
String fileName = encode(request.getParameter(“fileName”));
response.setHeader(“Content-disposition”, “inline; filename=” +fileName);
%
html
head
meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″
link href=”%=path%/css/pingtai.css” rel=”stylesheet” type=”text/css” /
/head
body
%out.print(tableContent);%
/body
/html
以上的代码可以直接复制使用,如果有什么看不明白的,可以继续问我
java poi Excel2007以上的版本导入数据库 数据量大 内存溢出如何解决
记得有个属性,
POI3.8的SXSSF包是XSSF的一个扩展版本,支持流处理,在生成大数据量的电子表格且堆空间有限时使用。SXSSF通过限制内存中可访问的记录行数来实现其低内存利用,当达到限定值时,新一行数据的加入会引起老一行的数据刷新到硬盘。
比如内存中限制行数为100,当行号到达101时,行号为0的记录刷新到硬盘并从内存中删除,当行号到达102时,行号为1的记录刷新到硬盘,并从内存中删除,以此类推。
rowAccessWindowSize代表指定的内存中缓存记录数,默认为100,此值可以通过
new SXSSFWorkbook(int rowAccessWindowSize)或SXSSFSheet.setRandomAccessWindowSize(int windowSize)来设置。
javapoi导出大数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于poi导出数据太大怎么处理、javapoi导出大数据的信息别忘了在本站进行查找喔。