Problema: o sistema requer a importação de 400.000 dados do Excel e o servidor tem um excesso de memória usando o método POI.
Solução: Porque a pasta de trabalho do HSSFWorkbook = New HSSFWorkbook (PATH) carrega se destaca na memória ao mesmo tempo, resultando em memória insuficiente.
Portanto, o formato LEAD CSV é adotado. Como os dados do CSV são formados em x1, x2, x3, é semelhante à leitura do documento TXT.
Buffererader de Bufferer Private; / *** Entrada do arquivo de execução*/ public void Execute () {try {if (! Path.endswith (". Csv")) {logger.info ("----- Este arquivo não é um arquivo CSV, faça o upload do formato de arquivo correto -----"); retornar ; } Long startTime = System.currenttimemillis (); logger.info("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ endTime + "---Time consumes time = " + (EndTime - StartTime));} Catch (Exceção e) {E.PrintStackTrace ();}} / ** * Leia o CSV e processe dados * @param caminho * @THOWS Exception * / private void readcsv (string path) lança excepção {file file = novo arquivo (path); tentativa (Breader = buffer do buffer = "GBK"); line.split (",");O artigo acima resolve o problema do transbordamento de memória em grandes quantidades de dados importados de Java para Excel é todo o conteúdo que compartilho com você. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.