Java 简易操作Excel

首先,我们需要创建一个数据库表来存储这些单词及其相关信息。以下是一个简单的SQL语句示例,用于创建这样一个表:

```sql

CREATE TABLE EnglishWords (id INT AUTO_INCREMENT PRIMARY KEY,word VARCHAR(255) NOT NULL,phonetic TEXT NOT NULL,chinese_meaning TEXT NOT NULL,example_sentence TEXT NOT NULL,example_translation TEXT NOT NULL
);


```

这个表`EnglishWords`有六个字段:
- `id`:单词的序号,自动增长的主键。
- `word`:单词本身。
- `phonetic`:单词的音标。
- `chinese_meaning`:单词的中文含义。
- `example_sentence`:单词的例句。
- `example_translation`:例句的中文释义。

接下来,我们将之前生成的10个单词插入到这个表中:

```sql

INSERT INTO EnglishWords (word, phonetic, chinese_meaning, example_sentence, example_translation) VALUES
('Abyss', 'əˈbɪs', '深渊;无底洞', 'She stared into the abyss, contemplating the vastness of the universe.', '她凝视着深渊,沉思着宇宙的浩瀚。'),
('Cataclysm', 'ˈkætəklɪzəm', '大洪水;灾难', 'The city was devastated by the cataclysm, with buildings reduced to rubble.', '城市被灾难摧毁,建筑物变成了废墟。'),
('Ephemeral', 'ɪˈfemərəl', '短暂的;朝生暮死的', 'The beauty of the sunset was ephemeral, vanishing as quickly as it appeared.', '日落之美是短暂的,它出现得快,消失得也快。'),
('Horizon', 'həˈraɪzən', '地平线;范围', 'The new technology expanded the horizons of what was possible in the field.', '这项新技术扩大了该领域可能性的范围。'),
('Inevitable', 'ɪnˈevɪtəbl', '不可避免的', 'It seemed inevitable that the two teams would meet in the championship final.', '这两支队伍似乎不可避免地会在冠军决赛中相遇。'),
('Juxtapose', 'ˈdʒʌkstəpəʊz', '并置;并列', 'The artist juxtaposed bright colors with dark ones to create a striking effect.', '艺术家将明亮的颜色与深色并置,以创造引人注目的效果。'),
('Kaleidoscope', 'kəˈlaɪdəskəʊp', '万花筒', 'Life is like a kaleidoscope, constantly changing patterns and colors.', '生活就像万花筒,不断变化的图案和颜色。'),
('Lethargic', 'ləˈθɑːdʒɪk', '昏睡的;倦怠的', 'After the long flight, he felt lethargic and needed a nap.', '长途飞行后,他感到昏昏欲睡,需要小睡一会儿。'),
('Mosaic', 'məʊˈzeɪɪk', '马赛克;镶嵌艺术', 'The ancient mosaic on the floor depicted scenes from Roman mythology.', '地板上的古老马赛克描绘了罗马神话中的场景。'),
('Nuance', 'ˈnjuːɑːns', '细微差别;语气', 'The artist captured the nuances of light and shadow in the painting.', '艺术家在画作中捕捉到了光影的细微差别。');


```

最后,我们可以使用以下SQL语句来显示表中的所有数据:

```sql

SELECT * FROM EnglishWords;


```

这个查询将返回表`EnglishWords`中的所有记录,包括每个单词的所有信息。请注意,实际的数据库操作需要在数据库管理工具或通过编程接口执行。

要将MySQL数据库中的数据写入Excel文件,你可以使用Java的一些库,如Apache POI。下面是一个示例代码,演示如何实现这个功能。这个示例假设你已经有了一个名为`EnglishWords`的表,并且表中包含了之前插入的数据。

首先,确保你的`pom.xml`文件中包含了Apache POI的依赖:

```xml

<!-- Apache POI -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>版本号</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>版本号</version>
</dependency>


```

然后,你可以使用以下Java代码来实现将数据写入Excel文件的功能:```java

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class ExportToExcel {public static void exportDataToExcel() throws IOException {// 数据库连接信息String url = "jdbc:mysql://localhost:3306/你的数据库名";String user = "用户名";String password = "密码";// 创建Excel工作簿Workbook workbook = new XSSFWorkbook();Sheet sheet = workbook.createSheet("EnglishWords");// 设置标题行Row titleRow = sheet.createRow(0);titleRow.createCell(0).setCellValue("ID");titleRow.createCell(1).setCellValue("Word");titleRow.createCell(2).setCellValue("Phonetic");titleRow.createCell(3).setCellValue("Chinese Meaning");titleRow.createCell(4).setCellValue("Example Sentence");titleRow.createCell(5).setCellValue("Example Translation");// 数据库查询int rowNum = 1;try (Connection conn = DriverManager.getConnection(url, user, password);Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("SELECT * FROM EnglishWords")) {while (rs.next()) {Row row = sheet.createRow(rowNum++);row.createCell(0).setCellValue(rs.getInt("id"));row.createCell(1).setCellValue(rs.getString("word"));row.createCell(2).setCellValue(rs.getString("phonetic"));row.createCell(3).setCellValue(rs.getString("chinese_meaning"));row.createCell(4).setCellValue(rs.getString("example_sentence"));row.createCell(5).setCellValue(rs.getString("example_translation"));}} catch (Exception e) {e.printStackTrace();}// 写入Excel文件try (FileOutputStream outputStream = new FileOutputStream("EnglishWords.xlsx")) {workbook.write(outputStream);} finally {// 关闭工作簿资源workbook.close();}}public static void main(String[] args) {try {exportDataToExcel();System.out.println("数据导出成功,文件保存为 EnglishWords.xlsx");} catch (IOException e) {System.out.println("导出数据时发生错误:" + e.getMessage());}}
}


```

这段代码首先创建了一个Excel工作簿和工作表,然后从数据库中查询数据并填充到工作表中。最后,它将工作簿写入到一个名为`EnglishWords.xlsx`的文件中。

请注意,你需要将数据库连接信息(URL、用户名、密码)替换为你自己的信息。此外,Apache POI的版本号也需要根据你使用的版本进行替换。

在运行这段代码之前,请确保你已经添加了Apache POI库到你的项目中,并且你的数据库中确实存在`EnglishWords`表和相应的数据。

---------------------------------------------------------------------------------------------------------------------------------

要将Excel文件的数据写入MySQL数据库,你可以使用Java的一些库,如Apache POI来读取Excel文件,然后使用JDBC来执行插入数据库的操作。以下是一个示例代码,演示如何实现这个功能。

首先,确保你的`pom.xml`文件中包含了Apache POI和MySQL Connector的依赖:

```xml

<!-- Apache POI -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>版本号</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>版本号</version>
</dependency><!-- MySQL Connector -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>版本号</version>
</dependency>


```

然后,你可以使用以下Java代码来实现将数据从Excel文件写入MySQL数据库的功能:

```java

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;public class ImportToMySQL {public static void importExcelToMySQL(String excelFilePath) {// 数据库连接信息String url = "jdbc:mysql://localhost:3306/你的数据库名";String user = "用户名";String password = "密码";String tableName = "EnglishWords";// 加载Excel文件Workbook workbook;try (FileInputStream fileInputStream = new FileInputStream(new File(excelFilePath))) {workbook = new XSSFWorkbook(fileInputStream);} catch (IOException e) {e.printStackTrace();return;}// 获取工作表Sheet sheet = workbook.getSheetAt(0);// 准备JDBC插入语句String sql = "INSERT INTO " + tableName + " (word, phonetic, chinese_meaning, example_sentence, example_translation) VALUES (?, ?, ?, ?, ?)";try (Connection conn = DriverManager.getConnection(url, user, password);PreparedStatement pstmt = conn.prepareStatement(sql)) {// 跳过标题行,从第一行数据开始for (int rowIndex = 1; rowIndex <= sheet.getLastRowNum(); rowIndex++) {Row row = sheet.getRow(rowIndex);if (row == null) {continue;}// 读取单元格数据Cell wordCell = row.getCell(1);Cell phoneticCell = row.getCell(2);Cell chineseMeaningCell = row.getCell(3);Cell exampleSentenceCell = row.getCell(4);Cell exampleTranslationCell = row.getCell(5);// 设置预处理语句的参数pstmt.setString(1, wordCell.getStringCellValue());pstmt.setString(2, phoneticCell.getStringCellValue());pstmt.setString(3, chineseMeaningCell.getStringCellValue());pstmt.setString(4, exampleSentenceCell.getStringCellValue());pstmt.setString(5, exampleTranslationCell.getStringCellValue());// 执行插入操作pstmt.executeUpdate();}System.out.println("数据导入成功");} catch (SQLException e) {e.printStackTrace();} finally {if (workbook != null) {try {workbook.close();} catch (IOException e) {e.printStackTrace();}}}}public static void main(String[] args) {String excelFilePath = "EnglishWords.xlsx"; // Excel文件路径importExcelToMySQL(excelFilePath);}
}


```

这段代码首先加载Excel文件,然后读取工作表中的数据。对于工作表中的每一行数据,它都会准备一个JDBC的`PreparedStatement`来执行插入操作,并将Excel中的数据作为参数传递给这个语句。最后,它会执行插入操作,并将数据写入到MySQL数据库中。

请注意,你需要将数据库连接信息(URL、用户名、密码)和Excel文件路径替换为你自己的信息。此外,Apache POI和MySQL Connector的版本号也需要根据你使用的版本进行替换。

在运行这段代码之前,请确保你已经添加了Apache POI和MySQL Connector库到你的项目中,并且你的Excel文件`EnglishWords.xlsx`中确实存在数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

书生·浦语第二期-笔记2

课程链接&#xff1a;https://github.com/InternLM/Tutorial/tree/camp2 视频地址&#xff1a;轻松玩转书生浦语大模型趣味Demo_哔哩哔哩_bilibili 大模型及InternLM介绍 大模型&#xff1a;人工智能领域中参数数量巨大、拥有庞大计算能力和参数规模的模型 特点&#xff1a…

使用json-server来创建mockserver

代替mock模拟数据 1.使用mkdir vue3-ts-server 创建目录 2.npm init -y 生成package.json的依赖配置文件 详见json-server - npm 3.cnpm install json-server -S 4.目录结构是data&#xff0c;public&#xff0c;src{app.js &#xff0c; router.js &#xff0c; db.js &…

【Linux杂货铺】进程通信

目录 &#x1f308; 前言&#x1f308; &#x1f4c1; 通信概念 &#x1f4c1; 通信发展阶段 &#x1f4c1; 通信方式 &#x1f4c1; 管道&#xff08;匿名管道&#xff09; &#x1f4c2; 接口 ​编辑&#x1f4c2; 使用fork来共享通道 &#x1f4c2; 管道读写规则 &…

初中英语优秀作文分析-002Who stole the cupcake-谁偷了纸杯蛋糕?

更多资源请关注纽扣编程微信公众号 记忆树 1 One Sunday afternoon, Leslie was at home with her kids, 3-year-old Angel, 6-year-old Carl, and 7-year-old Tony. 翻译 一个周日的下午&#xff0c;Leslie和她的孩子们在家&#xff0c;他们是3岁的Angel&#xff0c;6岁的…

镜子摆放忌讳多

镜子是我们日常生活中不可或缺的物品。在风水中&#xff0c;镜子的作用非常多&#xff0c;能够起到一定的作用。镜子的摆放位置也是非常有讲究的&#xff0c;摆放不好会直接影响到家人的事业、财运、婚姻乃至健康等诸多方面。 第一个风水忌讳&#xff0c;镜子对大门。大门的正前…

Linux防火墙之iptables(二)

一.SNAT策略概述 1.SNAT 策略的典型应用环境 局域网主机共享单个公网IP地址接入Internet&#xff08;私有IP不能在Internet中正常路由&#xff09; 局域共享上网 2.SNAT 策略的原理 源地址转换&#xff0c;Source Network Address Translation 修改数据包的源地址 未作SNAT转换…

用three.js+echarts给公司写了一个站点数据大屏系统经验总结

时间过的好快,参加公司的新项目研发快一年了,五一机器人项目首秀,我们遇到了高并发集中下单情景,然后海量数据处理场景来了,给我在后端领域的高并发实践业务上画上了漂亮的一笔经验。人都是在磨练中成长,我很感谢这次给我的机会,虽然有点累,但也有点小成就。正好现在有…

时隔一年半。。。

大概一年半的时间没登录&#xff0c;经历了蛮多事情&#xff0c;包括不满&#xff0c;辞职&#xff0c;备考&#xff0c;笔试&#xff0c;面试… 大体上是蛮幸运的&#xff0c;又要去新的单位工作了&#xff0c;第一份事业编的工作做得真的很痛苦&#xff0c;大概是因为丢掉了专…

AGI系列(1):掌握AI大模型提示词优化术,提问准确率飙升秘籍

当我们向AI大模型提问时&#xff0c;通常人们的做法是有什么问题&#xff0c;就直接去问&#xff0c;得到大模型的回复结果&#xff0c;时好时坏&#xff0c;完全没有可控性。 那么有没有一种方式或是一套方法&#xff0c;可以让我们向大模型提问时&#xff0c;得到的结果更准确…

nacos 2.3.3 Windows系统安装详细版

1&#xff0c;下载 https://github.com/alibaba/nacos/releases 2&#xff0c;解压 3&#xff0c;将nacos的内置库(derby)&#xff0c;修改为我们自己的 mysql 3.1 创建一个数据库 3.2 连接数据库 3.3 执行mysql 脚本&#xff0c;在nacos的conf 目录下 mysql-schema.sql 执…

Python | R | MATLAB高斯过程统计模型

&#x1f4dc;随机统计模型-用例 &#x1f4dc;海上风电场模型 | &#x1f4dc;天气和建筑设计模型 | &#x1f4dc;不确定性量化应用模型 | &#x1f4dc;马尔可夫链蒙特卡罗算法多模态采样贝叶斯模型 | &#x1f4dc;分类过程最大似然模型 | &#x1f4dc;C和Python通信引文…

【LeetCode 167】两数之和II

1. 题目 2. 分析 就是简单的双指针的题&#xff0c;使用头尾指针分别指向数组的首尾&#xff0c;然后依次判断两者值的和与target的大小关系。关系分成三类&#xff1a; &#xff08;1&#xff09;和大于target&#xff0c;说明尾指针过大&#xff0c;需要前移&#xff1b; &…

深入了解 Golang 多架构编译:交叉编译最佳实践

随着软件开发领域的不断发展&#xff0c;我们面临着越来越多的挑战&#xff0c;其中之一是如何在不同的平台和架构上部署我们的应用程序。Golang&#xff08;Go&#xff09;作为一种现代化的编程语言&#xff0c;具有出色的跨平台支持&#xff0c;通过其强大的多架构编译功能&a…

刷代码随想录有感(79):回溯算法——N皇后问题

题干: 代码&#xff1a; class Solution { public:vector<vector<string>> res;void backtracking(vector<string>& chessboard, int n, int row){if(row n){res.push_back(chessboard);return;}for(int col 0; col < n; col){if(isvalid(chessboa…

将3D检测的box框投影到BEV图片上

前言 点云数据作为一种丰富的三维空间信息表达方式&#xff0c;通常用于自动驾驶、机器人导航和三维建模等领域。然而&#xff0c;点云数据的直观性不如二维图像&#xff0c;这限制了它在一些需要快速视觉反馈的应用场景中的使用。本文将探讨如何将点云数据转换为二维图像&…

Python Flask 图片上传与下载

Python代码 #encoding:utf-8 #!/usr/bin/env python from werkzeug.utils import secure_filename from flask import Flask, render_template, jsonify, request, make_response, send_from_directory, abort import osapp Flask(__name__) UPLOAD_FOLDER upload app.confi…

公共代理IP和独享代理IP之间的区别?

公共代理IP和独享代理IP在网络应用中扮演着不同的角色&#xff0c;它们之间的区别主要体现在使用方式、性能、安全性以及隐私保护等方面。以下是对这两种代理IP的详细对比和分析。 第一点就是使用的方式以及成本上的不同&#xff0c;公共代理IP&#xff0c;顾名思义&#xff0…

python基于深度学习的聊天机器人设计

python基于深度学习的聊天机器人设计 开发语言:Python 数据库&#xff1a;MySQL所用到的知识&#xff1a;Django框架工具&#xff1a;pycharm、Navicat、Maven 系统功能实现 登录注册功能 用户在没有登录自己的用户名之前只能浏览本网站的首页&#xff0c;想要使用其他功能都…

服务器被黑?快速检测和识别系统中的恶意进程

在管理和维护服务器时,检测和识别系统中的恶意进程是非常重要的。本文将详细介绍几种常用方法和工具,帮助您有效地检测和处理恶意进程,确保系统的安全性。 方法一:使用系统监控工具 1.1. 使用 ps 命令 ps 命令可以列出系统中所有正在运行的进程。使用以下命令查看特定用户…

SpringBoo+vue3整合讯飞星火3.5通过webscoket实现聊天功能(全网首发)附带展示效果

API版本&#xff1a;Spring Boot 整合讯飞星火3.5通过接口Api接口实现聊天功能&#xff08;首发&#xff09;复制粘贴即可使用&#xff0c;后续更新WebSocket实现聊天功能_讯飞星火web聊天-CSDN博客https://blog.csdn.net/qq_53722480/article/details/138865508?csdn_share_t…