workbook对象需要关闭_jxl读取excel需要关闭Workbook?

这段代码展示了如何使用jxl库简单读取Excel文件,并且在读取结束后关闭Workbook对象。问题讨论了在实际部署时如果不关闭Workbook是否会消耗服务器内存,以及在大数据量时可能引发的问题。
摘要由CSDN通过智能技术生成

/**

* 简单的读取excel

* @param inputFile

* @param inputFileSheetIndex

* @throws Exception

*/

public static ArrayList sampleReadExcel(File inputFile, int inputFileSheetIndex) throws Exception {

ArrayList list = new ArrayList();

Workbook book = null;

Cell cell = null;

//避免乱码的设置

WorkbookSettings setting = new WorkbookSettings();

java.util.Locale locale = new java.util.Locale("zh","CN");

setting.setLocale(locale);

setting.setEncoding("ISO-8859-1");

book = Workbook.getWorkbook(inputFile, setting);

Sheet sheet = book.getSheet(inputFileSheetIndex);

for (int rowIndex = 0; rowIndex < sheet.getRows(); rowIndex++) {// Excel第一行为表头,因此J初值设为1

for (int colIndex = 0; colIndex < sheet.getColumns(); colIndex++) {// 只需从Excel中取出2列

cell = sheet.getCell(colIndex, rowIndex);

list.add(cell.getContents());

}

}

//【问题:如果在实际部署的时候没有写下面这句是否会导致不断消耗掉服务器的内存?jxl里面有个ReadWrite.java没有关闭读的,只关闭了写的】

book.close();

return list;

}

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2008-04-23 16:46

浏览 4129

论坛回复 / 浏览 (1 / 3101)

评论

1 楼

jiyanliang

2008-04-23

它会把所有数据都读到内存中,如果数据量太大的时候,就肯定暴了

看看你调用它的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值