Problema: El sistema requiere importar 400,000 datos de Excel, y el servidor tiene un desbordamiento de memoria utilizando el método POI.
Solución: Porque HSSFWorkBook Workbook = New HSSFWorkBook (ruta) Carga Excel en la memoria al mismo tiempo, lo que resulta en memoria insuficiente.
Por lo tanto, se adopta el formato de lectura CSV. Dado que los datos de CSV se forman en x1, x2, x3, es similar a leer el documento TXT.
Panado privado BufferedReader; / *** Entrada de archivo de ejecución*/ public void ejecute () {try {if (! Path.endswith (". CSV")) {logger.info ("----- Este archivo no es un archivo CSV, por favor cargue el formato de archivo correcto -------"); devolver ; } Long starttime = system.currentTimemillis (); logger.info("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ endTime + "---Time consumes Time = " + (EndTime - Starttime)));} Catch (Exception e) {E.PrintStackTrace ();}} / ** * Read CSV y Process Data * @Param Path * @throws Exception * / private void ReadCSV (String Path) Lanza excepción {archivo de archivo = nuevo archivo (ruta); intente {Breader = New BufferedReader (New InputStreamreader (String Path). "GBK")); }}}} Finalmente {if (Bread! = Null) {Breader.Close ();El artículo anterior resuelve el problema del desbordamiento de la memoria en grandes cantidades de datos importados de Java a Excel es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.