小编jmc*_*094的帖子

如何读取一个巨大的excel文件的前n行

所以我正在尝试编写一个程序来扫描excel文件的一行中的特定模式.即,对于N后跟任何字母,则为S或T(每个字母占据单个单元格).

问题是,我使用的excel文件非常庞大,大约有3000行和近1000列.我试图仅在前60行中搜索此模式,以减少Java堆空间.我怎样才能适合我的算法呢?我仍然没有内存异常.

我的代码如下:

import java.awt.List;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;

import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelReader {

    public int Reader(File file) throws IOException, EncryptedDocumentException, InvalidFormatException {
        FileInputStream fis = new FileInputStream(file);
        String filepath = file.getPath();
        Workbook wb = WorkbookFactory.create(new File(filepath));
        XSSFSheet sheet = (XSSFSheet) wb.getSheetAt(0);
        XSSFRow row;
        XSSFCell cell;
        ArrayList<Integer> list = new ArrayList<Integer>();

        int rows;
        int cols = 0;
        int temp = 0; …
Run Code Online (Sandbox Code Playgroud)

java error-handling excel

7
推荐指数
1
解决办法
1161
查看次数

标签 统计

error-handling ×1

excel ×1

java ×1