Apache POI库:Java处理Excel文件的终极指南

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:Apache POI是处理Microsoft Office文件的Java库,尤其擅长读写Excel文件。它支持不同版本Excel文件格式,并提供了从创建到修改的全面API。本指南涵盖了如何使用POI读取Excel数据,包括打开工作簿、遍历工作表、读取行与单元格数据,以及样式和格式应用。还包含了如何处理公式、优化内存使用以及异常处理的最佳实践。 poi开发包读取excel

1. Apache POI库介绍

Apache POI项目是一套开源的Java库,专门用于读取和写入Microsoft Office格式的文件,包括Excel、Word、PowerPoint等。它为开发者提供了一种简便的方式来处理Microsoft Office文档,使得在Java应用程序中操作这些文件成为可能。POI库广泛应用于数据导入导出、报表生成、自动化的文档处理等场景。

在本章中,我们将介绍Apache POI库的基本概念、安装和配置方法以及其在企业级应用中的常见用途。我们将从基础出发,逐步深入,帮助读者建立起对Apache POI库的整体认识。

1.1 POI库的历史与重要性

Apache POI项目历史悠久,其源起于2001年,它的存在填补了Java处理Microsoft Office文件的空白。Apache POI的重要性在于它提供了一个统一的接口来处理Office文档,无需关心具体的文件格式和版本。这些接口抽象了底层的文件格式细节,使得开发者可以专注于业务逻辑的实现。

1.2 安装和配置POI库

要开始使用Apache POI,首先需要将其添加到项目中。对于Maven项目,可以在pom.xml文件中加入依赖项。例如,要使用最新版本的POI来操作Excel文件,可以添加如下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.3</version>
</dependency>

接下来,配置好环境后,便可以开始编写代码来创建、读取和修改Excel文件。POI库广泛用于数据交换、报表生成以及自动化测试等多个领域。无论你是希望在后台自动化任务中集成Excel文件的处理,还是需要从Excel中提取数据进行分析,Apache POI都提供了必要的工具和方法。

2. 深入理解HSSF和XSSF API

2.1 HSSF API的使用与特点

2.1.1 HSSF API概述

HSSF API 是 Apache POI 项目中用于处理 Microsoft Excel 文件的一个重要组件。HSSF 代表 Horrible Spreadsheet Format,专门用于读写 Excel 97-2007 文件格式(即 .xls 文件)。HSSF 使用纯 Java 实现,并且不需要依赖 Microsoft Office。使用 HSSF API,开发者可以读取、修改和创建 Excel 文件。

HSSF API 的优点在于它支持的功能丰富,几乎涵盖了 Excel 文件的所有基本功能,包括工作表的创建、样式和格式的设置、公式和函数的解析等。此外,HSSF 保持了与 Apache POI 其他组件的高度一致性,使得 API 使用者能够方便地在不同格式的 Excel 文件间进行切换。

2.1.2 HSSF API的核心类

HSSF API 的核心类包括 HSSFWorkbook HSSFSheet HSSFRow HSSFCell 等。 HSSFWorkbook 类对应于整个 Excel 文件,是其他所有类的父类。 HSSFSheet 代表工作表, HSSFRow 代表行,而 HSSFCell 代表单元格。下面是一个简单的代码示例,展示如何使用这些核心类来创建一个 Excel 工作簿:

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

// 创建一个新的 Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();

// 创建工作表 Sheet
HSSFSheet sheet = workbook.createSheet("Example Sheet");

// 创建行 Row 和单元格 Cell
HSSFRow row = sheet.createRow((short) 0);
HSSFCell cell = row.createCell((short) 0);

// 设置单元格的值
cell.setCellValue(100);

// 保存工作簿到一个文件
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
workbook.write(fileOut);
fileOut.close();
workbook.close();

在上述代码中,首先创建了一个 HSSFWorkbook 实例,接着创建了一个名为 "Example Sheet" 的工作表。然后在工作表中创建了一行,并在该行中创建了一个单元格。之后,我们将一个数值 100 赋值给该单元格,并将工作簿保存到名为 "workbook.xls" 的文件中。

2.2 XSSF API的使用与特点

2.2.1 XSSF API概述

XSSF API 是 Apache POI 项目中的另一个重要组件,用于读取和写入 Microsoft Excel 2007+ 文件格式(即 .xlsx 文件)。XSSF 是一个全新的 API,基于 OpenXML 标准。和 HSSF 类似,XSSF API 也提供了丰富的功能来处理 Excel 文件,但它的性能更好,且能够创建出比 HSSF 更大的文件。

使用 XSSF API,开发者能够轻松地处理超大文件,并且可以利用现代计算机的强大处理能力。XSSF 同样使用纯 Java 实现,不依赖于 Microsoft Office。XSSF API 对应的核心类和 HSSF 相似,但是它们属于不同的包,并且有不同的命名空间。

2.2.2 XSSF API的核心类

XSSF API 的核心类包括 XSSFWorkbook XSSFSheet XSSFRow XSSFCell 等。这些类的使用方法和 HSSF 类似,但它们是专门用于处理 .xlsx 文件的。下面展示如何使用 XSSF API 创建一个 Excel 文件:

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

// 创建一个新的 Excel 工作簿
XSSFWorkbook workbook = new XSSFWorkbook();

// 创建工作表 Sheet
XSSFSheet sheet = workbook.createSheet("Example Sheet");

// 创建行 Row 和单元格 Cell
XSSFRow row = sheet.createRow((short) 0);
XSSFCell cell = row.createCell((short) 0);

// 设置单元格的值
cell.setCellValue(100);

// 保存工作簿到一个文件
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
workbook.write(fileOut);
fileOut.close();
workbook.close();

在上面的代码中,我们使用了 XSSF API 来创建和写入一个 Excel 文件。与 HSSF 示例类似,这段代码创建了一个 Excel 文件,但是在使用 XSSFWorkbook 类时,确保了创建的文件符合 .xlsx 格式。

通过比较 HSSF 和 XSSF 的代码示例,我们可以看到,尽管它们是处理不同 Excel 版本的 API,但是其使用方式非常相似,这使得学习和切换这两个 API 变得相对容易。不过,开发者需要根据目标文件格式来选择合适的 API 进行开发。

3. Workbook对象的创建与操作

3.1 创建Workbook对象

3.1.1 Workbook对象的基本概念

在Apache POI中,Workbook对象代表了一个Excel工作簿。它是一个容器,可以包含多个Sheet(工作表),每个Sheet又包含多个行(Row)和单元格(Cell)。Workbook对象为用户提供了创建、修改、保存Excel文件的接口。值得注意的是,在POI中,根据Excel文件格式的不同(如旧的HSSF格式和新的XSSF格式),所使用的Workbook子类也不同。具体来说, HSSFWorkbook 用于处理 .xls 文件,而 XSSFWorkbook 则用于处理 .xlsx 文件。

3.1.2 通过HSSF和XSSF创建Workbook

创建Workbook对象的步骤根据要操作的Excel文件类型分为两个部分。对于旧版的 .xls 文件,使用 HSSFWorkbook 类;对于新版的 .xlsx 文件,使用 XSSFWorkbook 类。

下面是一个简单的代码示例,展示了如何创建一个空的Excel工作簿。

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

// 创建HSSFWorkbook对象,用于操作.xls文件
Workbook workbookHSSF = new HSSFWorkbook();

// 创建XSSFWorkbook对象,用于操作.xlsx文件
Workbook workbookXSSF = new XSSFWorkbook();

这段代码演示了如何根据需要生成不同类型的Workbook对象。在实际应用中,根据文件类型选择相应的Workbook类是至关重要的。如果尝试用 XSSFWorkbook 去读取 .xls 文件,或者用 HSSFWorkbook 去读取 .xlsx 文件,将会导致错误或异常。因此,在处理不同格式的Excel文件时,要确保使用正确的Workbook子类。

3.2 操作Workbook对象

3.2.1 Workbook对象的读写操作

在Apache POI中,读写操作是对Workbook对象进行的操作。读操作主要是从现有Excel文件中加载数据到Workbook对象中,而写操作是将Workbook对象中的数据保存到一个新的Excel文件中。

下面将分别介绍读操作和写操作的基本用法。

读操作

读操作通常包括打开一个Excel文件,并将其内容加载到Workbook对象中。这通常通过 FileInputStream 实现,然后使用Workbook类的 read() 方法。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

// 以HSSF为例,读取.xls文件
try (FileInputStream fileInputStream = new FileInputStream(new File("path/to/existing_file.xls"))) {
    Workbook workbook = new HSSFWorkbook(fileInputStream);
    // 此时workbook中已经加载了文件中的数据
    // 接下来可以进行操作,如读取单元格数据等
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
写操作

写操作涉及到将Workbook对象中的数据保存到一个新的Excel文件中。这可以通过创建一个 FileOutputStream 对象来完成,然后使用Workbook对象的 write() 方法。

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

try (FileOutputStream fileOutputStream = new FileOutputStream(new File("path/to/new_file.xlsx"))) {
    Workbook workbook = new XSSFWorkbook();
    // 此处可以进行Workbook的创建和操作
    workbook.write(fileOutputStream);
} catch (IOException e) {
    e.printStackTrace();
} finally {
    workbook.close();
}

3.2.2 Workbook对象的复制和保存

在Apache POI中,复制Workbook对象通常是指将一个已经存在的Workbook对象中的内容复制到另一个新的Workbook对象中。而保存操作则是将Workbook对象保存为文件。通常保存操作会在创建和操作完成后执行。

复制操作

复制Workbook对象可以通过Apache POI提供的方法来完成。这里提供一个简单的复制方法,展示如何将数据从一个Workbook复制到另一个Workbook。

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

// 假设sourceWorkbook是已经存在的Workbook对象
Workbook sourceWorkbook = new XSSFWorkbook();
Workbook targetWorkbook = new XSSFWorkbook();

Sheet sourceSheet = sourceWorkbook.getSheetAt(0);
Sheet targetSheet = targetWorkbook.createSheet("copiedSheet");

Row sourceRow = sourceSheet.getRow(0);
Row targetRow = targetSheet.createRow(0);

Cell sourceCell = sourceRow.getCell(0);
Cell targetCell = targetRow.createCell(0);

// 复制单元格的值
targetCell.setCellValue(sourceCell.getStringCellValue());

// 保存Workbook对象
targetWorkbook.write(new FileOutputStream("path/to/new_file.xlsx"));
保存操作

保存Workbook对象涉及到将Workbook中的所有修改内容写入到一个新文件中。这个过程通常在用户完成创建和修改后执行。需要注意的是,在保存之前,必须确保所有的资源都被正确关闭,以避免数据丢失或文件损坏。

try {
    // 创建一个FileOutputStream对象,指向要保存的文件路径
    FileOutputStream fileOutputStream = new FileOutputStream("path/to/new_file.xlsx");

    // 调用Workbook的write方法,将数据写入到文件中
    workbook.write(fileOutputStream);
} catch (IOException e) {
    e.printStackTrace();
} finally {
    // 关闭Workbook和FileOutputStream
    if (workbook != null) {
        try {
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    if (fileOutputStream != null) {
        try {
            fileOutputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在处理文件读写操作时,要特别注意资源的释放。Apache POI使用了内部缓存机制,因此必须确保所有的资源在不再需要时都被关闭,否则可能会出现内存泄漏或文件损坏的情况。此外,也可以利用Java 7中引入的try-with-resources语句来自动管理资源,简化代码编写。

通过上述代码和解释,我们可以了解到如何利用Apache POI进行Workbook对象的创建、读取、写入以及复制操作,这些都是处理Excel文件时必须掌握的基本技能。

4. 深入Excel单元格操作

4.1 工作表、行、单元格的基本概念

4.1.1 工作表的构成和操作方法

工作表(Sheet)是Excel文件中用于存储数据和信息的电子表格。它由多个行(Row)和列(Column)组成,可以被想象成一个二维的数据网格。在Apache POI中,通过 Sheet 接口表示工作表,该接口提供了多种操作方法,如增加、删除和获取特定的工作表。

每个 Sheet 都由若干行( Row )构成,行又是由多个单元格( Cell )构成。单元格是存储数据的最小单位,在Excel操作中,通常会涉及到对这些单元格的读取和写入操作。例如,可以通过 Sheet.getRow(int rownum) 方法获取特定行对象,并对其进行进一步操作。

// 获取第一个工作表
Sheet sheet = workbook.getSheetAt(0);
// 获取第一行的数据
Row row = sheet.getRow(0);
// 检查行是否存在,如果不存在则创建
if (row == null) {
    row = sheet.createRow(0);
}

在上述代码中,首先获取了工作簿中的第一个工作表,然后尝试获取第一行。如果第一行不存在,则通过 createRow(int rownum) 方法创建。这样的操作有助于确保在写入数据时,相关行已经存在。

4.1.2 行和单元格的操作

操作行和单元格,首先需要获取到它们的实例。 Row 类表示Excel中的行,它提供了多个方法用于操作单元格,如 getCell(int cellnum) 用于获取指定索引的单元格, createCell(int cellnum) 用于创建一个单元格。单元格( Cell )是存储数据的主要结构,根据数据类型不同,单元格可以是数字、文本、公式等。

// 创建新的单元格
Cell cell = row.createCell(1);
// 设置单元格值为字符串
cell.setCellValue("Hello, Apache POI!");

上例中,首先通过 createCell(int cellnum) 方法创建了一个新的单元格,然后使用 setCellValue 方法给单元格赋值。Apache POI支持多种数据类型,包括 CELL_TYPE_STRING CELL_TYPE_NUMERIC 等,可以通过 Cell.getCellType() 方法来获取单元格的类型。

4.2 高级单元格操作技巧

4.2.* 单元格样式和格式的设置

单元格样式( CellStyle )允许用户定义文本的字体、颜色、边框样式等。Apache POI提供了 CellStyle 接口,并通过 Workbook.createCellStyle() 方法来创建新的样式对象。格式( CellFormat )则负责定义数据的显示方式,比如日期和数字的显示格式。格式通常与样式结合使用,以确保数据按照预期方式显示。

// 创建单元格样式
CellStyle style = workbook.createCellStyle();
// 设置字体样式
Font font = workbook.createFont();
font.setFontName("Arial");
font.setFontHeightInPoints((short)12);
font.setBold(true);
style.setFont(font);
// 应用样式到单元格
cell.setCellStyle(style);

在上述代码段中,首先创建了一个 CellStyle 对象,并为它指定了一个 Font 对象。 Font 对象用于定义字体类型、大小和加粗样式。之后,通过 setCellStyle(CellStyle) 方法将样式应用到特定的单元格上。

4.2.* 单元格数据的读取和写入

单元格的读取和写入操作是Apache POI库中的核心功能之一。写入数据时,需要先判断单元格的数据类型,再使用相应的方法进行数据的存储。例如,可以使用 setCellEditText(String) 方法向单元格写入文本数据,使用 setCellNumericData(NumericData) 方法写入数字数据等。

// 读取单元格的数据
Cell cell = row.getCell(1);
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
    String value = cell.getStringCellValue();
    System.out.println("The string value is: " + value);
} else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {
    double value = cell.getNumericCellValue();
    System.out.println("The numeric value is: " + value);
}

在上述代码段中,首先获取了一个单元格的引用,然后判断该单元格的数据类型。如果类型为字符串,则通过 getStringCellValue() 方法获取字符串值;如果为数字,则通过 getNumericCellValue() 方法获取数值。这样的逻辑可以帮助我们从不同类型的单元格中提取数据。

本章节介绍的内容,展示了如何在Apache POI中进行工作表、行和单元格的构建和操作。下一章将深入探讨Apache POI进阶应用和优化,包括高级读写操作、样式和格式的定义及应用、异常处理与资源管理等内容。

5. Apache POI进阶应用和优化

Apache POI库不仅提供了基本的Excel文件读写功能,还提供了许多高级特性和优化策略,以满足更复杂的业务需求。在本章中,我们将探讨如何使用Apache POI进行高级Excel数据操作,以及如何优化这些操作的性能。

5.1 读取Excel数据的高级方法

5.1.* 单元格数据类型的识别与处理

Apache POI提供了强大的单元格数据类型识别能力。我们可以根据单元格的类型(如字符串、数字、布尔值或日期),使用不同的方法来读取内容。

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

public class CellDataTypeExample {
    public static void main(String[] args) throws Exception {
        FileInputStream file = new FileInputStream(new File("example.xlsx"));
        Workbook workbook = new XSSFWorkbook(file);
        Sheet sheet = workbook.getSheetAt(0);
        Row row = sheet.getRow(0);
        Cell cell = row.getCell(0);

        switch (cell.getCellType()) {
            case STRING:
                System.out.println(cell.getStringCellValue());
                break;
            case NUMERIC:
                System.out.println(cell.getNumericCellValue());
                break;
            case BOOLEAN:
                System.out.println(cell.getBooleanCellValue());
                break;
            case FORMULA:
                System.out.println(cell.getCellFormula());
                break;
            // Add more cases for other cell types
        }
        workbook.close();
        file.close();
    }
}

5.1.2 公式和函数的解析

Apache POI也允许我们解析和评估Excel中的公式和函数。我们可以获取单元格中的公式,并计算其结果。

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

public class CellFormulaExample {
    public static void main(String[] args) throws Exception {
        FileInputStream file = new FileInputStream(new File("example.xlsx"));
        Workbook workbook = new XSSFWorkbook(file);
        Sheet sheet = workbook.getSheetAt(0);
        Row row = sheet.getRow(0);
        Cell cell = row.getCell(0);

        if (cell.getCellType() == CellType.FORMULA) {
            System.out.println("Cell formula: " + cell.getCellFormula());
            double result = evaluateCellFormula(cell, workbook);
            System.out.println("Calculated value: " + result);
        }
        workbook.close();
        file.close();
    }

    private static double evaluateCellFormula(Cell cell, Workbook workbook) {
        // Implementation to evaluate cell formula, which can be complex
        // This might involve parsing the formula and calculating the result
        // For simplicity, returning a placeholder value here
        return Double.NaN;
    }
}

5.2 写入Excel数据的深入步骤

5.2.1 复杂数据结构的写入方法

Apache POI允许我们将复杂的数据结构如数组、列表以及更复杂的数据类型写入到Excel中。我们可以创建不同类型的数据验证规则,比如下拉列表。

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

public class WriteComplexDataExample {
    public static void main(String[] args) throws Exception {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Complex Data");

        CreationHelper createHelper = workbook.getCreationHelper();
        DataFormat dataFormat = workbook.createDataFormat();

        Row row;
        Cell cell;

        row = sheet.createRow(0);
        cell = row.createCell(0);
        cell.setCellValue("Data Validation");

        // Setup data validation on cell B1
        DataValidationHelper dvHelper = sheet.getDataValidationHelper();
        DataValidation validation = dvHelper.createExplicitListConstraint(
                CellRangeAddress.valueOf("B2:B10"),
                new String[]{"Option1", "Option2", "Option3"}
        );
        sheet.addValidationData(validation);

        workbook.write(new FileOutputStream("example.xlsx"));
        workbook.close();
    }
}

5.2.2 高效写入策略和性能优化

当处理大型数据集时,写入性能是一个关键问题。Apache POI提供了多种优化写入性能的策略,比如使用SXSSF API代替XSSF API,SXSSF专为处理大型文件设计。

import org.apache.poi.xssf.streaming.SXSSFWorkbook;

// ...

SXSSFWorkbook workbook = new SXSSFWorkbook();
Sheet sheet = workbook.createSheet("Large Data");

// Write large dataset to the sheet
// ...

// Flush the data to the file system periodically
workbook.dispose();

5.3 样式和格式定义及应用

5.3.1 样式的创建和应用

Apache POI提供了一个灵活的样式系统,可以定义字体、边框、颜色、填充等属性。我们可以在写入数据时应用这些样式。

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

public class ApplyStyleExample {
    public static void main(String[] args) throws Exception {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Style Application");

        // Create styles
        CellStyle headerStyle = workbook.createCellStyle();
        Font headerFont = workbook.createFont();
        headerFont.setBold(true);
        headerStyle.setFont(headerFont);

        // Apply styles to cells
        Row headerRow = sheet.createRow(0);
        for (int i = 0; i < 5; i++) {
            Cell cell = headerRow.createCell(i);
            cell.setCellValue("Header " + (i + 1));
            cell.setCellStyle(headerStyle);
        }

        workbook.write(new FileOutputStream("example.xlsx"));
        workbook.close();
    }
}

5.3.2 格式化数据的显示

格式化是另一种定义单元格数据外观的方法。我们可以设置日期、时间和数字的显示格式。

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

public class DataFormattingExample {
    public static void main(String[] args) throws Exception {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Data Formatting");

        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);

        cell.setCellValue(1234.567);
        CellStyle style = workbook.createCellStyle();
        style.setDataFormat(workbook.createDataFormat().getFormat("0.00"));
        cell.setCellStyle(style);

        workbook.write(new FileOutputStream("example.xlsx"));
        workbook.close();
    }
}

5.4 异常处理与资源管理

5.4.1 常见异常的处理方法

在使用Apache POI时,我们需要处理各种异常,如文件格式错误、读写问题等。Apache POI使用标准Java异常类,通常使用try-catch块来处理。

try {
    // Use Apache POI API
} catch (IOException e) {
    // Handle IO Exception
} catch (Exception e) {
    // Handle other exceptions
}

5.4.2 内存优化技巧和最佳实践

当处理大型Excel文件时,Apache POI可能会占用大量内存。为了优化内存使用,可以使用SXSSF API代替XSSF,并确保及时清理资源。

// ...

try {
    // Use Apache POI API
} finally {
    // Clean up resources
    if (workbook instanceof SXSSFWorkbook) {
        ((SXSSFWorkbook) workbook).dispose();
    } else if (workbook != null) {
        workbook.close();
    }
}

在本章中,我们探讨了Apache POI的高级应用和性能优化策略。通过深入了解Apache POI的高级功能,我们可以更高效地处理复杂的Excel文件,并提高应用程序的性能。接下来,我们将在下一章深入探讨Apache POI在实际开发中的应用案例和最佳实践。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:Apache POI是处理Microsoft Office文件的Java库,尤其擅长读写Excel文件。它支持不同版本Excel文件格式,并提供了从创建到修改的全面API。本指南涵盖了如何使用POI读取Excel数据,包括打开工作簿、遍历工作表、读取行与单元格数据,以及样式和格式应用。还包含了如何处理公式、优化内存使用以及异常处理的最佳实践。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值