潍坊网站建设优化排名/百度百科优化排名
第1部分:引言
1.1 Apache POI简介
Apache POI是一个开源的Java库,用于处理Microsoft Office文档。自2001年首次发布以来,它已经成为Java社区中处理Office文档事实上的标准。Apache POI支持HSSF(用于旧版本的Excel格式,即.xls)和XSSF(用于Excel 2007及以后版本,即.xlsx)两种Excel格式,以及其他Office文档格式。
1.2 为什么选择Apache POI进行Excel操作
- 跨平台性:作为Java库,Apache POI可以在任何支持Java的平台上运行,无需依赖特定的操作系统。
- 开源和免费:Apache POI是一个开源项目,允许开发者免费使用和修改。
- 功能丰富:支持创建、编辑、格式化、图表绘制等多种Excel操作。
- 社区支持:拥有活跃的开发者社区,提供持续的更新和技术支持。
- 与Java集成度高:无缝集成到Java应用程序中,易于学习和使用。
第2部分:Apache POI概览
2.1 Apache POI的历史和发展
Apache POI最初由Andrew C. Oliver于2001年开发,目的是提供一个能够读写Microsoft Office文件格式的Java库。随着时间的推移,Apache POI不断发展壮大,现在已经成为Apache软件基金会的一个顶级项目。它支持包括Excel、Word、PowerPoint在内的多种Office文档格式。
2.2 支持的文件格式
Apache POI支持多种Excel文件格式,主要包括:
- HSSF (Horrible SpreadSheet Format):用于读写旧版的Excel格式(.xls)。
- XSSF (Excel Spreadsheet XML Format):用于读写较新的Excel格式(.xlsx),基于Office Open XML标准。
- SXSSF:用于读写大型Excel文件,支持在内存使用较低的情况下进行操作。
2.3 与其他库的比较
与其他Excel操作库相比,Apache POI具有以下优势:
- 全面性:支持几乎所有Excel功能,包括宏、图表、数据透视表等。
- 成熟度:经过多年的发展,Apache POI已经非常稳定和成熟。
- 社区活跃:拥有一个活跃的开发者社区,不断有新的功能和改进被加入。
2.4 核心组件
Apache POI由以下几个核心组件构成:
- POI-OLE:用于处理OLE2文件格式,如早期的Excel文件。
- POI-HSSF:专门用于处理HSSF格式的Excel文件。
- POI-SXSSF:用于处理SXSSF格式的Excel文件。
- POI-XSSF:用于处理XSSF格式的Excel文件。
- POI-HWPF:用于处理Word文档。
- POI-HSLF:用于处理PowerPoint演示文稿。
2.5 示例:创建一个简单的Excel文件
下面是一个使用Apache POI创建一个简单Excel文件的示例:
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream;
import java.io.IOException;public class SimpleExcelExample {public static void main(String[] args) throws IOException {try (Workbook workbook = new XSSFWorkbook()) {Sheet sheet = workbook.createSheet("Simple Sheet");Row row = sheet.createRow(0);Cell cell = row.createCell(0);cell.setCellValue("Hello, Apache POI!");CellStyle style = workbook.createCellStyle();style.setFillForegroundColor(IndexedColors.YELLOW.index);style.setFillPattern(CellStyle.SOLID_FOREGROUND);cell.setCellStyle(style);try (FileOutputStream outputStream = new FileOutputStream("simple.xlsx")) {workbook.write(outputStream);}}}
}
2.6 示例:读取Excel文件
以下示例展示了如何使用Apache POI读取Excel文件中的数据:
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileInputStream;
import java.io.IOException;public class ReadExcelExample {public static void main(String[] args) throws IOException {try (Workbook workbook = new XSSFWorkbook(new FileInputStream("simple.xlsx"))) {Sheet sheet = workbook.getSheetAt(0);for (Row row : sheet) {for (Cell cell : row) {switch (cell.getCellType()) {case STRING:System.out.println(cell.getStringCellValue());break;case NUMERIC:System.out.println(cell.getNumericCellValue());break;// 可以根据需要添加其他类型的处理}}}}}
}
第3部分:环境搭建
3.1 安装Java开发环境
在使用Apache POI之前,确保你的计算机上安装了Java开发环境(JDK)。可以从Oracle官网下载最新版本的JDK。安装完成后,配置环境变量,使得java
和javac
命令可以在命令行中直接使用。
3.2 添加Apache POI依赖到项目
Apache POI可以通过多种方式添加到你的项目中。以下是几种常见的方法:
3.2.1 使用Maven
如果你的项目使用Maven进行依赖管理,可以在pom.xml
文件中添加以下依赖:
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.2</version>
</dependency><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version>
</dependency>
3.2.2 使用Gradle
对于使用Gradle的项目,在build.gradle
文件中添加以下依赖:
dependencies {implementation 'org.apache.poi:poi:5.2.2'implementation 'org.apache.poi:poi-ooxml:5.2.2'
}
3.2.3 手动下载和配置
如果不想使用依赖管理工具,可以从Apache POI官网下载所需的JAR文件,并将其添加到项目的类路径中。
3.3 配置开发工具(IDE)以支持Apache POI
大多数现代IDE(如IntelliJ IDEA、Eclipse等)都支持Maven和Gradle,可以自动识别并下载依赖。确保你的IDE配置正确,可以识别并索引Apache POI库。
3.4 示例:使用Maven创建一个简单的项目
以下是一个使用Maven创建的简单项目的目录结构和pom.xml
配置示例:
simple-poi-project
|-- pom.xml
`-- src`-- main|-- java`-- com.example`-- SimpleExcelExample.java
pom.xml
:
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>simple-poi-project</artifactId><version>1.0-SNAPSHOT</version><dependencies><!-- Apache POI dependencies --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.2</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version></dependency></dependencies>
</project>
3.5 示例:创建和配置Eclipse项目
如果你使用Eclipse作为开发工具,可以按照以下步骤创建和配置项目:
- 打开Eclipse,选择
File
>New
>Java Project
。 - 输入项目名称,例如
SimplePoiProject
,然后点击Finish
。 - 右键点击项目,选择
Configure
>Convert to Maven Project
。 - 在弹出的窗口中,添加Apache POI依赖,然后点击
Finish
。
3.6 示例:使用IntelliJ IDEA创建项目
如果你使用IntelliJ IDEA,可以按照以下步骤创建和配置项目:
- 打开IntelliJ IDEA,选择
File
>New
>Project
。 - 选择
Maven
,然后点击Next
。 - 输入项目名称和位置,点击
Next
。 - 在
Artifact Coordinates
页面,添加Apache POI依赖,然后点击Finish
。
第4部分:基础操作
4.1 创建一个新的Excel文件
使用Apache POI创建一个新的Excel文件涉及到几个关键步骤:初始化工作簿(Workbook),创建工作表(Sheet),以及添加行(Row)和单元格(Cell)。以下是一个创建新Excel文件并写入一些基础数据的示例:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream;
import java.io.IOException;public class CreateNewExcel {public static void main(String[] args) throws IOException {Workbook workbook = new XSSFWorkbook(); // 创建新的工作簿Sheet sheet = workbook.createSheet("First Sheet"); // 创建新的工作表// 在第一行第一列创建单元格并写入数据Row row = sheet.createRow(0);Cell cell = row.createCell(0);cell.setCellValue("Apache POI");// 设置单元格样式CellStyle style = workbook.createCellStyle();style.setAlignment(HorizontalAlignment.CENTER);cell.setCellStyle(style);try (FileOutputStream outputStream = new FileOutputStream("newExcel.xlsx")) {workbook.write(outputStream); // 写入文件}workbook.close(); // 关闭工作簿}
}
4.2 读取现有的Excel文件
读取Excel文件需要使用Apache POI的读取功能。以下示例展示了如何打开一个现有的Excel文件并读取其内容:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileInputStream;
import java.io.IOException;public class ReadExistingExcel {public static void main(String[] args) throws IOException {try (Workbook workbook = new XSSFWorkbook(new FileInputStream("existingExcel.xlsx"))) {Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表for (Row row : sheet) {for (Cell cell : row) {switch (cell.getCellType()) {case STRING:System.out.println(cell.getStringCellValue());break;case NUMERIC:System.out.println(cell.getNumericCellValue());break;// 可以添加更多case来处理不同类型的单元格}}}}}
}
4.3 工作簿(Workbook)和工作表(Sheet)的概念
- 工作簿(Workbook):代表整个Excel文件,可以包含多个工作表。
- 工作表(Sheet):是工作簿中的一个单独的表格,可以包含行和列。
4.4 添加多个工作表
以下示例展示了如何在同一个工作簿中添加多个工作表:
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Sheet;public class AddMultipleSheets {public static void main(String[] args) {Workbook workbook = new XSSFWorkbook();Sheet sheet1 = workbook.createSheet("Sheet 1");Sheet sheet2 = workbook.createSheet("Sheet 2");// 在每个工作表中添加一些数据sheet1.createRow(0).createCell(0).setCellValue("Data in Sheet 1");sheet2.createRow(0).createCell(0).setCellValue("Data in Sheet 2");// 保存工作簿到文件try {workbook.write(new FileOutputStream("multipleSheets.xlsx"));} catch (IOException e) {e.printStackTrace();}workbook.close();}
}
4.5 设置单元格样式
Apache POI允许你设置单元格的样式,包括字体、颜色、边框等。以下示例展示了如何设置单元格的背景颜色和字体样式:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openxmlformats.schemas.drawingml.x2006.main.CTScheme;import java.io.FileOutputStream;
import java.io.IOException;public class CellStyles {public static void main(String[] args) throws IOException {Workbook workbook = new XSSFWorkbook();Sheet sheet = workbook.createSheet("Styled Sheet");Row row = sheet.createRow(0);Cell cell = row.createCell(0);// 设置单元格样式CellStyle style = workbook.createCellStyle();XSSFFont font = ((XSSFWorkbook) workbook).createFont();font.setFontName("Arial");font.setFontHeightInPoints((short) 14);font.setBold(true);font.setColor(IndexedColors.RED.getIndex());style.setFont(font);cell.setCellValue("Styled Cell");cell.setCellStyle(style);try (FileOutputStream outputStream = new FileOutputStream("styledExcel.xlsx")) {workbook.write(outputStream);}workbook.close();}
}
第5部分:数据读写
5.1 写入数据到单元格
在Excel中写入数据到单元格是基本操作之一。Apache POI提供了多种方法来设置单元格的值,包括字符串、数字、布尔值等。以下是一些写入数据的基本示例:
5.1.1 写入字符串和数字
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream;
import java.io.IOException;public class WriteDataToCells {public static void main(String[] args) throws IOException {try (Workbook workbook = new XSSFWorkbook();FileOutputStream outputStream = new FileOutputStream("writeData.xlsx")) {Sheet sheet = workbook.createSheet("Data Sheet");Row row = sheet.createRow(0);// 第一列写入字符串Cell cell1 = row.createCell(0);cell1.setCellValue("Hello, Apache POI!");// 第二列写入数字Cell cell2 = row.createCell(1);cell2.setCellValue(1234.56);workbook.write(outputStream);}}
}
5.1.2 写入布尔值和公式
import org.apache.poi.ss.usermodel.*;public class WriteBooleanAndFormula {public static void main(String[] args) {Workbook workbook = new XSSFWorkbook();Sheet sheet = workbook.createSheet("Boolean and Formula");Row row = sheet.createRow(1);// 写入布尔值Cell cell1 = row.createCell(0);cell1.setCellValue(true);// 写入公式Cell cell2 = row.createCell(1);cell2.setCellFormula("SUM(1, 2, 3, 4)");// 此处省略文件写入和关闭工作簿的代码}
}
5.2 读取单元格数据
读取单元格数据同样重要,Apache POI提供了多种方法来获取不同类型的单元格数据。以下是读取数据的示例:
5.2.1 读取不同类型的单元格数据
import org.apache.poi.ss.usermodel.*;import java.io.FileInputStream;
import java.io.IOException;public class ReadDifferentCellTypes {public static void main(String[] args) throws IOException {try (Workbook workbook = new XSSFWorkbook(new FileInputStream("readData.xlsx"))) {Sheet sheet = workbook.getSheetAt(0);Row row = sheet.getRow(0);Cell cell1 = row.getCell(0);System.out.println("String Cell: " + cell1.getStringCellValue());Cell cell2 = row.getCell(1);System.out.println("Numeric Cell: " + cell2.getNumericCellValue());// 此处省略其他单元格类型的读取代码}}
}
5.3 单元格样式和格式化
单元格样式和格式化是提高Excel文件可读性和专业性的重要手段。以下是设置单元格样式和格式化的示例:
5.3.1 设置数字格式和字体样式
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;public class CellStyleAndFormatting {public static void main(String[] args) {Workbook workbook = new XSSFWorkbook();Sheet sheet = workbook.createSheet("Formatted Data");Row row = sheet.createRow(0);Cell cell = row.createCell(0);// 设置数字格式cell.setCellValue(12345.67);cell.setCellStyle(createNumberFormat(workbook, "#,##0.00"));// 设置字体样式CellStyle style = createFontStyle(workbook, "Bold", IndexedColors.BLACK.getIndex());cell.setCellStyle(style);// 此处省略文件写入和关闭工作簿的代码}private static CellStyle createNumberFormat(Workbook workbook, String format) {CellStyle style = workbook.createCellStyle();style.setDataFormat(workbook.createDataFormat().getFormat(format));return style;}private static CellStyle createFontStyle(Workbook workbook, String fontName, short color) {CellStyle style = workbook.createCellStyle();XSSFFont font = ((XSSFWorkbook) workbook).createFont();font.setFontName(fontName);font.setBold(true);font.setColor(color);style.setFont(font);return style;}
}
5.4 合并单元格
合并单元格是Excel中常用的功能,用于在多个单元格中显示一个值。以下是合并单元格的示例:
import org.apache.poi.ss.usermodel.*;public class MergeCells {public static void main(String[] args) {Workbook workbook = new XSSFWorkbook();Sheet sheet = workbook.createSheet("Merged Cells");Row row = sheet.createRow(0);// 创建单元格并合并Cell cell1 = row.createCell(0);cell1.setCellValue("Merged Cell");sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2)); // 合并第0行第0到2列// 此处省略文件写入和关闭工作簿的代码}
}
欢迎关注vx公众号
相关文章:

Apache POI操作excel
第1部分:引言 1.1 Apache POI简介 Apache POI是一个开源的Java库,用于处理Microsoft Office文档。自2001年首次发布以来,它已经成为Java社区中处理Office文档事实上的标准。Apache POI支持HSSF(用于旧版本的Excel格式࿰…...

Python错误集锦:faker模块生成xml文件时提示:`xml` requires the `xmltodict` Python library
原文链接:http://www.juzicode.com/python-error-faker-exceptions-unsupportedfeature-xml-requires-the-xmltodict-python-library 错误提示: faker模块生成xml文件时提示: xml requires the xmltodict Python library Traceback (most r…...

Vue3-尚硅谷笔记
1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年10月,最…...

RockChip Android12 System之MultipleUsers
一:概述 System中的MultipleUsers不同于其他Preference采用system_dashboard_fragment.xml文件进行加载,而是采用自身独立的xml文件user_settings.xml加载。 二:Multiple Users 1、Activity packages/apps/Settings/AndroidManifest.xml <activityandroid:name="S…...

第12天:前端集成与Django后端 - 用户认证与状态管理
第12天:前端集成与Django后端 - 用户认证与状态管理 目标 整合Django后端与Vue.js前端,实现用户认证和应用状态管理。 任务概览 设置Django后端用户认证。创建Vue.js前端应用。使用Vuex进行状态管理。实现前端与后端的用户认证流程。 详细步骤 1. …...

在ROS2中蓝牙崩溃的原因分析
在ROS2中,如果蓝牙模块没有成功启动,可能的原因有几个方面: 1. **硬件问题**:首先需要确认蓝牙硬件本身是否正常工作,包括检查蓝牙模块是否正确连接到系统,以及模块是否存在物理损坏。 2. **驱动问题**&a…...

【PythonWeb开发】Flask中间件钩子函数实现封IP
在 Flask 框架中, 提供了几种类型的钩子(类似于Django的中间件),它们是在请求的不同阶段自动调用的函数。这些钩子让你能够对请求和响应的处理流程进行扩展,而无需修改核心代码。 Flask钩子的四种类型 before_first_r…...

可以一键生成热点营销视频的工具,建议收藏
在当今的商业环境中,热点营销已经成为了一种非常重要的营销策略。那么,什么是热点营销呢?又怎么做热点营销视频呢? 最近高考成绩慢慢公布了,领导让结合“高考成绩公布”这个热点,做一个关于企业或产品的营销…...

Unity Meta Quest 开发:关闭 MR 应用的安全边界
社区链接: SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 📕教程说明 这期教程我将介绍如何在应用中关闭 Quest 系统的安全边界。 视频讲解: https://www.bilibili.com/video/BV1Gm42157Zi …...

4.sql注入攻击(OWASP实战训练)
4.sql注入攻击(OWASP实战训练) 引言1,实验环境owasp,kali Linux。2,sql注入危害3,sql基础回顾4,登录owasp5,查询实例(1)简单查询实例(2࿰…...

前端Web开发HTML5+CSS3+移动web视频教程 Day1
链接 HTML 介绍 写代码的位置:VSCode 看效果的位置:谷歌浏览器 安装插件 open in browser: 接下来要保证每次用 open in browser 打开的是谷歌浏览器。只需要将谷歌浏览器变为默认的浏览器就可以了。 首先进入控制面板,找到默…...

中医实训室:在传统针灸教学中的应用与创新
中医实训室是中医教育体系中的重要组成部分,尤其在传统针灸教学中,它扮演着无可替代的角色。这里是理论与实践的交汇点,是传统技艺与现代教育理念的碰撞之地。本文将探讨中医实训室在传统针灸教学中的应用与创新实践。 首先,实训室…...

React Hooks 小记(七)_useReducer
useReducer usereducer 相当于 复杂的 useState 当状态更新逻辑较复杂时可以考虑使用 useReducer。useReducer 可以同时更新多个状态,而且能把对状态的修改从组件中独立出来。 相比于 useState,useReducer 可以更好的描述“如何更新状态”。例如&#…...

甲子光年专访天润融通CEO吴强:客户经营如何穿越低速周期?
作者|陈杨、编辑|栗子 社会的发展从来都是从交流和联络开始的。 从结绳记事到飞马传信,从电话电报到互联网,人类的联络方式一直都在随着时代的发展不断进步。只是传统社会通信受限于技术导致效率低下,对经济社会产生影…...

还不到6个月,GPTs黄了
相比起来,人们还不如使用一个足够强大、灵活且通用的AI助手来满足各类复杂需求。更严重的是一些独立GPTs显露出的安全隐患。除此之外,最大的问题在于OpenAI模糊不清的货币化政策。 文章正文 上周,不少人发现微软官网忽然更新了一条“GPT Bu…...

IOS Swift 从入门到精通:BlurEffect BlendMode stroke
文章目录 UIBlurEffectBlendModestroke基本用法:描边样式:与strokeBorder的区别:组合使用:自定义形状:UIBlurEffect 在Swift中,实现模糊效果通常是通过UIKit框架中的UIBlurEffect类来完成的,这通常被称作毛玻璃效果。 **创建UIBlurEffect实例:**选择一个模糊效果的样…...

西木科技Westwood-Robotics人型机器人Bruce配置和真机配置
西木科技Westwood-Robotics人型机器人Bruce配置和真机配置 本文内容机器人介绍Bruce机器人Gazebo中仿真代码部署Bruce真机代码部署 本文内容 人形机器人Brcue相关介绍docker中安装Gazebo并使用Bruce机器人控制器更换环境配置 机器人介绍 公司:西木科技Westwood-R…...

【招聘贴】JAVA后端·唯品会·BASE新加坡
作者|老夏(题图:公司业务介绍页) “ 请注意,这两个岗是BASE新加坡的,欢迎推荐给身边需要的朋友(特别是在新加坡的)。” VIP海外业务-产品技术团队,这两个岗位属于后端工程组的岗&…...

CVPR2024|vivo提出使用对抗微调获得泛化性更强的SAM,分割性能直接登顶 SOTA!
在计算机视觉不断发展的领域中,基础模型已成为一种关键工具,显示出对多种任务的出色适应性。其中,由 Meta AI 开发的 Segment Anything Model(SAM)在图像分割任务中表现杰出。然而,和其他类似模型一样&…...

程序员必备的ChatGPT技巧:从代码调试到项目管理
近年来,随着人工智能技术的迅猛发展,ChatGPT作为一种强大的对话式AI工具,已经广泛应用于各个领域。而对于程序员来说,ChatGPT不仅可以帮助他们解决编程中的各种问题,还能在项目管理中发挥重要作用。本篇博客将详细介绍…...

JAVA开发的一套医院绩效考核系统源码:KPI关键绩效指标的清晰归纳
KPI是关键绩效指标(Key Performance Indicators)的缩写,它是一种用于衡量员工或组织绩效的量化指标。这些指标通常与组织的目标和战略相关,并帮助管理层评估员工和组织的实际表现。KPI还可以为员工提供清晰的方向,使他…...

面向对象编程——python
目录 一、面向对象编程 1.1 类和对象 1.2 继承 1.3 封装 1.4 多态 1.5 Python中的面向对象编程 二、类、对象和变量 2.1 类(Class) 2.2.1 类的属性(Class Attributes) 2.2.2 类的方法(Class Methods…...

【LeetCode】每日一题:合并K个升序链表
给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 解题思路 分治加两个链表合并,或者用根堆,根堆的初始化方法很值得背诵,还涉及lambda的用法 AC代码 # Defini…...

从零开始学docker(四)-安装mysql及主从配置(一)
mysql MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关…...

【目标检测】Yolov8 完整教程 | 检测 | 计算机视觉
学习资源:https://www.youtube.com/watch?vZ-65nqxUdl4 努力的小巴掌 记录计算机视觉学习道路上的所思所得。 1、准备图片images 收集数据网站:OPEN IMAGES 2、准备标签labels 网站:CVAT 有点是:支持直接导出yolo格式的标…...

新能源汽车 LabCar 测试系统方案(-)
什么是LabCar测试 LabCar测试目标是进行整车黄板台架功能测试,用于整车开发和测试阶段,满足设计人员和测试人员的试验需求,以验证整车性能,减少开发工作量。系统主要用于测试静态及动态工况下的纯电动汽车的各项功能实现情况。 …...

机器学习辅助的乙醇浓度检测(毕设节选)
目录 1.为什么要机器学习 2. 神经网络一般组成 3.BP神经网络工作过程 4.评价指标 5.实操代码 1.为什么要用机器学习 人工分析大量的谐振模式,建立各种WGM的响应与未知目标之间的关系,是一个很大的挑战。机器学习(ML)能够自行识别全谱的全部特征。作为…...

YOLO系列改进
yolo核心思想:把目标检测转变成一个回归问题。将整个图像作为网络的输入,仅仅经过一个神经网络,得到边界框的位置及其所属的类别。 YOLOv1 CVPR2016 输出7730的张量表示2个框的5个参数和20个种类。leaky ReLU,leaky并不会让负数…...

cuda与cudnn下载(tensorflow-gpu)
目录 前言 正文 前言 !!!tensorflow-gpu的版本要与cuda与cudnn想对应。这点十分重要!推荐下载较新的。即tensorflow-gpu2.60及以上,cuda11.x及以上,cudnn8.x及以上。 所以,下载之前先检查好…...

git 多分支实现上传文件但避免冲突检测
文章目录 背景实现步骤 背景 对于某些通过命令生成的配置文件(如 TypeScript 类型文件等) 实现步骤 1...