首页 > 其他分享 >Maven简单使用说明(在IDEA中创建一个基于POI的处理Excel文件的Maven项目)

Maven简单使用说明(在IDEA中创建一个基于POI的处理Excel文件的Maven项目)

时间:2024-12-17 11:53:32浏览次数:3  
标签:xml maven 创建 Excel IDEA Maven apache

目录

Maven简介(AI生成的内容)

现在大多数Java项目选择使用Maven管理,主要是因为它大大简化了项目的构建和依赖管理过程。想象一下,如果你要手动管理所有需要的库文件(即jar包),你得一个个去下载、配置,还要确保它们之间没有版本冲突——这不仅耗时而且容易出错。而Maven就像一个智能助手,它能自动帮你:

  • 下载所需的库:只要你在项目配置文件(pom.xml)中声明需要哪些库,Maven会自动从网上找到并下载这些库到你的项目中。
  • 管理依赖关系:如果某个库依赖于其他库,Maven会自动处理这些“依赖的依赖”,确保一切都井然有序。
  • 编译、测试和打包:Maven有一套标准的生命周期,可以自动执行编译代码、运行测试以及打包成可部署格式(如JAR或WAR文件)等任务。
  • 保持项目结构一致:Maven鼓励遵循一种标准化的目录结构,这样无论谁接手项目,都能快速理解其布局和工作方式。
  • 团队协作更顺畅:由于所有开发者都使用相同的工具和约定,团队成员之间的合作变得更加简单高效,减少了因为环境差异带来的问题。
  • 易于集成持续集成/持续部署(CI/CD)流程:Maven与许多CI/CD工具无缝集成,使得自动化构建和发布变得轻而易举。

总的来说,Maven让开发者可以把更多时间和精力集中在编写业务逻辑上,而不是被繁琐的项目管理和构建细节所困扰。这就是为什么现代Java项目普遍采用Maven作为项目管理工具的原因。

一、环境变量设置

  1. Windows下打开系统环境变量,在其中新建MAVEN_HOME变量,值为maven安装目录\bin,如(D:\apache-maven-3.9.9\bin
  2. 在环境变量PATH中添加%MAVEN_HOME%
  3. 在命令行下执行mvn -n,查看是否安装成功。

二、设置Maven的本地jar仓库位置

说明:需要指定一个目录为Maven Jar仓库的本地存储位置。

新建:D:\jarstore\repository目录。

三、设置maven配置文件settings.xml

maven安装目录\conf`下的settings.xml文件中包含很多maven设置。主要配置:

  1. 本地Jar仓库地址:前面创建的D:\jarstore\repository目录;
  2. 镜像仓库URL:Maven官方主仓库速度较慢,所以建议配置国内的Maven镜像仓库URL。
  3. JDK版本:比如Java 17.

说明:可以在阿里云Maven中央仓库网址查询最新的阿里云镜像仓库URL。

阿里云镜像仓库URL(2024-12-17查询):https://maven.aliyun.com/repository/central

3.1 配置本地仓库

在settings.xml文件中大约在53行附近添加如下配置信息:
<localRepository>D:/jarstore/repository</localRepository>

3.2 配置镜像仓库URL

在settings.xml文件中大约在159行附近添加如下配置信息:

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>https://maven.aliyun.com/repository/central</url>
</mirror>

3.3 配置JDK版本

之间添加如下配置信息:

<!-- java版本 -->
<profile>
	<id>jdk-17</id>
	<activation>
		<activeByDefault>true</activeByDefault>
		<jdk>17</jdk>
	</activation>
	<properties>
		<maven.compiler.source>17</maven.compiler.source>
		<maven.compiler.target>17</maven.compiler.target>
		<maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
	</properties>
</profile>

四、在IDEA中配置maven并创建maven项目

4.1 设置IDEA的全局配置

如果打开IDEA发现已经打开了某个项目,需要关闭该项目(Close Project),打开IDEA全局初始界面。

点击Customize->点击All settings...->选择Build, Execution, Deployment->Build Tools->Maven。主要设置如下三个配置:

  1. Maven home path:设置为Maven的安装目录,如D:\apache-maven-3.9.9
  2. User settings file:选择Override,然后选择按目录下的setting.xml,如D:\apache-maven-3.9.9\conf\settings.xml
  3. Local respository:保证里面的值为你刚才创建的本地Jar仓库的目录路径,如D:\jarstore\repository.

注意:设置完后一定要保存、应用,然后重启IDEA。

4.2 在IDEA中创建maven项目

如果只是创建一个普通的Java项目,可以在New Project中选择Java,然后点选maven,选择正确的JDK版本,与刚才设置的要一致如JDK 17。
然后在Advanced Settings进行如下设置:

  • GroupID: 为组织名称,如jmu.net
  • ArtifactId:为项目名称,如mvnprj01

注意:第一次创建maven项目需要下载相关插件、jar包,所以速度比较慢,请耐心等候。

4.3 创建一个使用POI处理Excel文件的maven项目

需要先在项目的pom.xml中添加如下依赖(即,下载相应的库)。可以询问AI“想要使用POI处理Excel的.xls文件,给我一个参考的pom.xml例子”,然后找出其中相关的信息。一个例子如下所示:

<dependencies>
    <!-- Apache POI for Excel files -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.2.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.2.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml-schemas</artifactId>
        <version>4.1.2</version> <!-- 注意:此版本可能需要根据最新情况进行调整 -->
    </dependency>
    <!-- xmlbeans is required for xlsx support -->
    <dependency>
        <groupId>org.apache.xmlbeans</groupId>
        <artifactId>xmlbeans</artifactId>
        <version>5.1.1</version>
    </dependency>
    <!-- commons-collections4 is used by POI -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.4</version>
    </dependency>
    <!-- commons-compress is used by POI for zip file manipulation -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>1.21</version>
    </dependency>
    <!-- dom4j is used by POI for XML processing -->
    <dependency>
        <groupId>org.dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>2.1.3</version>
    </dependency>
</dependencies>

保存以后,需要一些时间下载相关的jar库,需耐心等待一段时间。也可以手动让其重新解析pom.xml文件(右键点击pom.xml->点击Run Maven->点击Reimport)让其下载

如果出现类似Dependency 'xxx' not found这个错误,有可能是相关的jar文件还没下载下来,也有可能是镜像仓库的URL设置错误,要不然就是相关的配置信息有误。也可以尝试询问AI提示Dependency 'xxx' not found,有可能是版本问题,请重新给一个稳定版本的<dependency>示例

接下载,询问AI“给我一个简单的使用POI创建xlsx文件的例子”,在项目中创建相应的.java源代码文件。如:

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

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

public class CreateExcel {

    public static void main(String[] args) {
        // 创建一个新的工作簿
        try (Workbook workbook = new XSSFWorkbook()) {
            // 创建一个工作表
            Sheet sheet = workbook.createSheet("Example Sheet");

            // 一些示例数据
            Object[][] bookData = {
                {"Head First Java", "Kathy Sierra", 79},
                {"Effective Java", "Joshua Bloch", 36},
                {"Clean Code", "Robert C. Martin", 54},
                {"Thinking in Java", "Bruce Eckel", 35}
            };

            int rowCount = 0;

            // 创建字体样式
            Font headerFont = workbook.createFont();
            headerFont.setBold(true);
            headerFont.setFontHeightInPoints((short) 14);
            headerFont.setColor(IndexedColors.RED.getIndex());

            // 创建单元格样式
            CellStyle headerCellStyle = workbook.createCellStyle();
            headerCellStyle.setFont(headerFont);

            // 创建标题行
            Row headerRow = sheet.createRow(rowCount++);
            for (int i = 0; i < bookData[0].length; i++) {
                Cell cell = headerRow.createCell(i);
                cell.setCellValue("Column " + (i + 1));
                cell.setCellStyle(headerCellStyle);
            }

            // 填充数据行
            for (Object[] aBook : bookData) {
                Row row = sheet.createRow(rowCount++);
                int columnCount = 0;
                Cell cell = row.createCell(columnCount++);
                cell.setCellValue((String) aBook[0]);

                cell = row.createCell(columnCount++);
                cell.setCellValue((String) aBook[1]);

                cell = row.createCell(columnCount);
                cell.setCellValue((Integer) aBook[2]);
            }

            // 自动调整列宽
            for (int i = 0; i < bookData[0].length; i++) {
                sheet.autoSizeColumn(i);
            }

            // 将工作簿写入文件输出流
            try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
                workbook.write(fileOut);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

尝试运行,看能否成功。如果成功后,将在IDEA项目目录下看到workbook.xlsx文件。

4.4 使用FastExcel处理Excel文件

FastExcel前身是阿里巴巴的EasyExcel,相比较POI来说占用内存更少、速度更快、依赖更简单。

FastExcel对应的依赖为:

<dependency>
    <groupId>cn.idev.excel</groupId>
    <artifactId>fastexcel</artifactId>
    <version>1.0.0</version>
</dependency>

参考代码:


import cn.idev.excel.EasyExcel;

import java.util.ArrayList;
import java.util.List;

public class FastExcelExample {

    public static void main(String[] args) {
        // 文件路径
        String fileName = "example.xlsx";
        
        // 写入数据类
        List<UserData> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            UserData data = new UserData();
            data.setName("Name" + i);
            data.setAge(i);
            list.add(data);
        }
        
        // 一次性写出内容到文件
        EasyExcel.write(fileName, UserData.class)
                .sheet("Sheet1")
                .doWrite(list);
    }

    // 定义数据类,字段需与Excel列对应
    public static class UserData {
        private String name;
        private Integer age;

        // getter和setter方法
        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Integer getAge() {
            return age;
        }

        public void setAge(Integer age) {
            this.age = age;
        }
    }
}

注意:FastExcel相对较新,网上的相应文档也比较少。如果询问AI让其生成相关信息或示例源代码文件,可能会给出错误的信息。建议到FastExcel主页上查看相关文档。

参考链接:

标签:xml,maven,创建,Excel,IDEA,Maven,apache
From: https://www.cnblogs.com/zhrb/p/18612024

相关文章

  • POI解析excel的sheet名称和表头
    前提:需要引入POI的jar包。 publicclassTemplateFileSheetParseVO{/***表名称*/privateStringtableName;/***列名称*/privateList<String>columnNames;}privateTemplateFileSheetParseVOextractContent(Filefile,Integer......
  • IDEA中代码写错了,如何回到某个节点?
    前言大家好,我是小徐啊。我们在使用IDEA开发Java应用的时候,经常遇到的一个问题,就是有时候代码写错了,想要全部回退,或者回退到某个节点。这个在Git里面是可以操作的,但是如果没有纳入Git管理的代码的话,就不行了。好在,IDEA中,有很好的历史回退功能,今天小徐就来介绍下。如何回到某个节......
  • Document Solutions for Excel crack
    DocumentSolutionsforExcelcrackDocumentSolutionsforExcelv8.0.0introducesprogrammaticsupportforwhat-ifanalysiswithscenarios,elevatingdecision-makinginExcel.DocumentSolutionsforExcelbyMESCIUSisacomprehensivetooldesi......
  • 【数据分享】2008-2023年我国省市县三级的逐日NO2数据(免费获取\excel\shp格式)
    空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2023年的省市县三级的逐日PM2.5数据、2000-2023年的省市县三级的逐日PM10数据、2013-2023年的省市县三级的逐日SO2数据和2000-2023年省市县三级的逐日O3数据(可查看之前的文章获悉详情)!本次我们分享的是......
  • 4个Excel数据查找替换技巧,让数据分析更高效!
    大家好,我是小鱼。    大家都知道,要想数据分析处理的结果准确率到达100%,必须要有良好的数据源,只有“好”的数据,才有好的结果!所以,要想做好数据分析处理,对数据替换必不可少。今天就跟大家分享4个Excel数据查找替换技巧,简单实用,职场必备!技巧一、查找替换法1、如图所示,我......
  • FastExcel 合并单元格(相当的行数据,进行合并)
    目录需求思路实现Excel导出单元格全量合并策略日期格式转换接口代码ServiceDTO使用FastExcel数据导出:官网:https://idev.cn/fastexcel/zh-CN需求信用代码、填报人,唯一时,将:信用代码、单位名称、填报人,进行row合并,并垂直居中对齐思路这边不需要做列合并,所以采用了RowWrite......
  • maven
    Maven的作用1.依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题2.统一项目结构:提供标准,统一的项目结构3.项目构建:标准跨平台(Linux、Windows、MacOS)的自动化项目构建方式Maven项目的目录结构:maven-project01|---src(源代码目录和测试代码目录)|---main......
  • EXCEL生成助记码宏
    1、打开要生成的EXCEL文件,选择工具--宏---VisualBasic编辑器(快捷键:alt+f11)2、选择:插入--模块--把下方的代码粘贴到里面,保存。3、代码4、保存后,回到EXCEL内容编辑界面。5、在需要生成助记码的地方。输入公式=pinyin(相应的汉字单元格)。注意:1、启用宏2、列格式为常......
  • 在PyCharm/Idea中快捷放大和缩小代码界面
    【File】->【Setting】->【keymap】 在Keymap中找到IncreaseFontSize,双击,选择AddMouseShortcut 在弹出的MouseShortcut界面,按住Ctrl并同时向上滚动鼠标滚轮,实现放大代码界面的设置。 在Keymap中找到DecreaseFontSize,双击,选择AddMouseShortcut 在弹出的......
  • 从零开始搭建基于 Maven 和 MyBatis 的 Java 项目
    从零开始搭建基于Maven和MyBatis的Java项目1.修改IDEA中Maven的配置(安转目录本地仓库)2.创建Maven工程3.修改pom.xml文件中的配置信息主要是Maven编译器插件(maven-compiler-plugin)4.导入相关依赖坐标5.创建pojoJavaBean书写实体类6.根据实体类编写SQL语句建......