Java implementa un sistema de gestión de información estudiantil: un método práctico para extraer datos de Excel

La implementación de un sistema de gestión de información de estudiantes en Java y la lectura de datos de Excel generalmente se aplica a los siguientes escenarios:

Migración e integración de datos: si tiene un sistema de administración de información estudiantil existente, ese sistema puede usar una base de datos u otro método de almacenamiento, pero desea migrar estos datos a un nuevo sistema. Los archivos de Excel pueden proporcionar una manera conveniente de migrar estos datos porque el formato de archivo de Excel es fácil de ver y editar.

Importación de datos: si está desarrollando un nuevo sistema de gestión de información estudiantil, es posible que necesite importar información estudiantil de otras fuentes. Los archivos de Excel pueden ser un formato fácil de obtener y utilizar, especialmente cuando los datos ya están en un archivo de Excel.

Análisis de datos: si necesita realizar análisis estadísticos o visualizar la información de los estudiantes, los archivos Excel pueden ser un buen punto de partida. Puede utilizar programas Java para leer archivos de Excel y luego procesar y analizar los datos.

Simplifique la entrada de datos: en algunos casos, los estudiantes o profesores pueden preferir utilizar una hoja de cálculo de Excel para ingresar datos en lugar de pasar por una interfaz o formulario en línea complejo. Los programas Java pueden leer estos archivos de Excel e importarlos a una base de datos o sistema.

Integración con otros sistemas: si existe un sistema o servicio externo (como un sistema financiero o un servicio de rendimiento estudiantil) que ya utiliza datos en formato Excel, un programa Java puede integrar los datos leyendo estos archivos Excel.

Copia de seguridad y restauración: en algunos casos, exportar datos a un archivo de Excel puede ser una estrategia de copia de seguridad conveniente. Asimismo, en caso de falla del sistema o pérdida de datos, los datos se pueden recuperar de estos archivos de Excel.

Este artículo presentará en detalle cómo usar Java para leer archivos de Excel y manejar excepciones.

1. Preparación ambiental

Antes de comenzar, asegúrese de haber instalado un entorno de desarrollo Java y comprender la sintaxis básica de Java. Para procesar archivos de Excel, usaremos la biblioteca Apache POI, que es una biblioteca Java popular diseñada específicamente para procesar archivos de Microsoft Office. Si aún no tiene instalado Apache POI, puede agregarlo a su proyecto a través de Maven o Gradle.

2. Implementación del código

Al solicitar FuncGPT (función de función), aún puede leer rápidamente archivos de Excel utilizando la biblioteca Apache POI.

Ingrese los requisitos:

Leer datos EXCEL, parámetro de entrada: Archivo de archivo, parámetro de salida: Lista<Mapa<Cadena, Objeto>>

Haga clic en Generar código para obtener el código completo.

// 类名:ExcelDataReader

// 函数名:readExcelData

// 函数功能:读取Excel数据并返回List<Map<String, Object>>类型的结果

// POM依赖包:

// <dependency>

//     <groupId>org.apache.poi</groupId>

//     <artifactId>poi</artifactId>

//     <version>4.1.2</version>

// </dependency>

// <dependency>

//     <groupId>org.apache.poi</groupId>

//     <artifactId>poi-ooxml</artifactId>

//     <version>4.1.2</version>

// </dependency>

import org.apache.poi.ss.usermodel.*;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class ExcelDataReader {

    /**

     * 读取Excel数据并返回List<Map<String, Object>>类型的结果

     * @param file Excel文件

     * @return Excel数据的List<Map<String, Object>>结果

     * @throws IOException 当读取Excel文件出现错误时抛出IOException

     */

    public static List<Map<String, Object>> readExcelData(File file) throws IOException {

        List<Map<String, Object>> dataList = new ArrayList<>(); // 创建存储Excel数据的List

        FileInputStream fis = new FileInputStream(file); // 创建文件输入流

        Workbook workbook = WorkbookFactory.create(fis); // 创建Workbook对象

        Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet

        int rowCount = sheet.getLastRowNum(); // 获取行数

        Row headerRow = sheet.getRow(0); // 获取标题行

        int columnCount = headerRow.getLastCellNum(); // 获取列数

        for (int i = 1; i <= rowCount; i++) { // 遍历每一行(跳过标题行)

            Row row = sheet.getRow(i);

            Map<String, Object> rowData = new HashMap<>();

            for (int j = 0; j < columnCount; j++) { // 遍历每一列

                Cell cell = row.getCell(j);

String columnName = headerRow.getCell(j).getStringCellValue(); // 获取列名

Object cellValue;

switch (cell.getCellType()) { // 根据单元格类型获取单元格值

case STRING:

cellValue = cell.getStringCellValue();

break;

case NUMERIC:

cellValue = cell.getNumericCellValue();

break;

case BOOLEAN:

cellValue = cell.getBooleanCellValue();

break;

case FORMULA:

cellValue = cell.getCellFormula();

break;

default:

cellValue = null;

}

rowData.put(columnName, cellValue); // 将列名和单元格值存入rowData

}

dataList.add(rowData); // 将rowData存入dataList

}

workbook.close(); // 关闭Workbook对象

fis.close(); // 关闭文件输入流

return dataList; // 返回Excel数据的结果

}

}

// 函数示例

// 读取Excel数据示例

// 入参:file,Excel文件

// 出参:dataList,Excel数据的List<Map<String, Object>>结果

// 调用示例:

// File file = new File("data.xlsx");

// List<Map<String, Object>> dataList = ExcelDataReader.readExcelData(file);

// System.out.println(dataList);

// 输出结果:例如,Excel数据为:

// | Name  | Age | Grade |

// |-------|-----|-------|

// | Alice | 18  | A     |

// | Bob   | 20  | B     |

// 则输出结果为:[{Name=Alice, Age=18, Grade=A}, {Name=Bob, Age=20, Grade=B}]

// 表示Excel数据被封装为List<Map<String, Object>>的格式

3. Manejo de excepciones

Pueden ocurrir varios errores al procesar archivos y datos. Por ejemplo, es posible que el archivo no exista o que no sea un archivo de Excel. Además, es posible que las celdas no contengan los datos que esperamos. Para manejar estas situaciones, se debe agregar más código de control y manejo de errores. Por ejemplo:

1. Verifique si el archivo existe: antes de abrir el archivo, puede verificar si existe. Si el archivo no existe, puede generar una excepción o devolver un mensaje de error.

2. Verifique si el archivo es un archivo de Excel: antes de abrir el archivo, puede intentar leer algunos bytes del archivo y verificar si son la firma del archivo de Excel (por ejemplo, "Poi" para la biblioteca de POI) . De lo contrario, puede generar una excepción o devolver un mensaje de error.

3. Verifique el tipo de datos de la celda: si la celda no contiene una cadena, el método getStringCellValue generará una RuntimeException. Puede verificar el tipo de datos de la celda usando el método getCellType y procesar los datos según sea necesario.

4. Procesar filas vacías: si una fila de la hoja está vacía, rowIterator.hasNext() devolverá falso, lo que hará que dejemos de procesar datos. Puede agregar una marca para asegurarse de que cada fila contenga datos.

FuncGPT es como un "profesor famoso" en línea que puede brindarle una "solución" clara, fácil de entender, legible y relativamente precisa basada en sus necesidades en un corto período de tiempo. Incluso puede usarse directamente la caja.código. En escenarios de demanda específicos, los desarrolladores pueden realizar modificaciones basadas en el código generado por FuncGPT (función Hui) de acuerdo con sus necesidades reales.

A través del código y la explicación anteriores, entendemos cómo usar la biblioteca de puntos de interés de Java y Apache para leer archivos de Excel. Esto es importante para desarrollar aplicaciones como sistemas de gestión de información estudiantil. Al mismo tiempo, el manejo adecuado de posibles excepciones también es una parte integral del proceso de desarrollo.

Google donó 1 millón de dólares a la Fundación Rust para mejorar la interoperabilidad entre Rust y C++. El proyecto del motor web "Servo", abandonado por Mozilla, renacerá en 2024. El padre del lenguaje Go resume los factores de éxito: la mascota es indispensable jQuery 4.0 .0 beta lanzado diariamente en código abierto: "Pequeño pero hermoso" Tauri es compatible con Android e iOS; el código abierto Pkl Google Bard de Apple pasó a llamarse Gemini, se lanzó oficialmente la aplicación independiente gratuita Vite 5.1 y un sistema de galería de herramientas de construcción front-end PicHome 2.0.1 lanzado Se lanza el conjunto de herramientas Java Hutool-5.8.26, les deseo todo lo mejor. Se lanza el gran modelo de código abierto MaLA-500, que admite 534 idiomas.
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4868096/blog/11013711
Recomendado
Clasificación