快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)

快速学习:使用Swing导出Excel文件到数据库

在日常工作中,经常需要将Excel文件中的数据导入到数据库中。手动操作费时费力,因此我们需要一种简单、快速的方法来实现导出Excel文件到数据库。本文将介绍如何使用Swing实现这一功能。

一、准备工作

在使用Swing导出Excel文件到数据库之前,我们需要准备好以下工具和环境:

1. JDK:确保您已经安装了最新版本的Java Development Kit(JDK)。

2. Eclipse:Eclipse是一种广泛使用的Java IDE,可以用于开发Java应用程序。

3. MySQL数据库:在本教程中,我们将使用MySQL数据库来演示将Excel数据导入数据库。

4. poi-3.17.jar:这是Apache POI的最新版本,我们需要使用它来读取Excel文件。

二、创建GUI

我们需要创建一个Graphical User Interface(GUI)来操作我们的代码。使用Swing可以轻松创建GUI。

在Eclipse中创建一个新的Java项目,并在其中创建一个新的类,命名为ExcelToDatabase.java。在该文件中添加以下代码:

“`

import javax.swing.*;

import java.awt.*;

public class ExcelToDatabase extends JFrame {

public ExcelToDatabase() {

setTitle(“Excel To Database”);

setSize(300, 200);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setLocationRelativeTo(null);

setLayout(new BorderLayout());

// Add components to the frame

JLabel label1 = new JLabel(“Enter Excel file path:”);

JTextField textField1 = new JTextField();

JLabel label2 = new JLabel(“Enter database name:”);

JTextField textField2 = new JTextField();

JButton button1 = new JButton(“Export”);

JButton button2 = new JButton(“Exit”);

JPanel panel1 = new JPanel(new GridLayout(2, 2));

panel1.add(label1);

panel1.add(textField1);

panel1.add(label2);

panel1.add(textField2);

JPanel panel2 = new JPanel(new FlowLayout());

panel2.add(button1);

panel2.add(button2);

add(panel1, BorderLayout.CENTER);

add(panel2, BorderLayout.SOUTH);

setVisible(true);

}

public static void mn(String[] args) {

new ExcelToDatabase();

}

}

“`

上述代码创建了一个GUI窗口,在其上包含两个文本框和两个按钮。它的布局使用了边界布局管理器(BorderLayout)。

三、将Excel文件读入内存

在导入Excel文件之前,我们需要将其读入到内存中。为此,我们需要使用Apache POI。

我们需要将poi-3.17.jar文件添加到我们的项目中。选择File > Properties > Java Build Path > Libraries,然后点击Add JARs,在您的项目文件夹中选择poi-3.17.jar文件。现在我们可以使用POI库中的类。

在ExcelToDatabase.java文件中添加以下代码来读取Excel文件:

“`

private static void readExcel(String filePath) {

try {

FileInputStream file = new FileInputStream(new File(filePath));

// Create a workbook instance

Workbook workbook = new XSSFWorkbook(file);

// Get the first sheet

Sheet sheet = workbook.getSheetAt(0);

// Loop through rows

Iterator rowIterator = sheet.iterator();

while (rowIterator.hasNext()) {

Row row = rowIterator.next();

// Loop through cells

Iterator cellIterator = row.cellIterator();

while (cellIterator.hasNext()) {

Cell cell = cellIterator.next();

System.out.print(cell.toString() + “\t”);

}

System.out.println(“”);

}

file.close();

} catch (Exception e) {

e.printStackTrace();

}

}

“`

该方法接受Excel文件的路径作为参数,并打印出所有单元格的值。我们将在下一步中将这些值导入到数据库中。现在运行程序并输入Excel文件的路径,以确保readExcel()方法可以正常读取数据。

四、将Excel数据插入到数据库中

现在,我们已经读取了Excel文件的所有数据,并将其保存在内存中。接下来,我们需要将这些数据插入到数据库中。

在ExcelToDatabase.java文件中添加以下代码以连接到MySQL数据库:

“`

private static void insertIntoDatabase(String databaseName, List rows) {

String url = “jdbc:mysql://localhost/” + databaseName;

String username = “root”;

String password = “”;

try (Connection conn = DriverManager.getConnection(url, username, password)) {

String sql = “INSERT INTO products (name, price, quantity) VALUES (?, ?, ?)”;

PreparedStatement statement = conn.prepareStatement(sql);

for (Object[] row : rows) {

statement.setString(1, (String) row[0]);

statement.setDouble(2, (Double) row[1]);

statement.setInt(3, (Integer) row[2]);

statement.executeUpdate();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

“`

此方法需要数据库名称和行列表作为参数。我们使用MySQL服务器连接到数据库并将数据插入到名为“产品”的表中。在这种情况下,表有一个名称,一个价格和一个数量列。

我们需要将行列表传递给该方法,该列表由每个行的值组成。

五、将数据导出到数据库

现在,我们已经准备好了将Excel数据导入到MySQL数据库中的所有要素。在ExcelToDatabase.java文件中添加以下代码,将GUI组件与我们之前创建的方法相结合:

“`

public ExcelToDatabase() {

// …

button1.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String filePath = textField1.getText();

String databaseName = textField2.getText();

List rows = new ArrayList();

try {

FileInputStream file = new FileInputStream(new File(filePath));

Workbook workbook = new XSSFWorkbook(file);

Sheet sheet = workbook.getSheetAt(0);

Iterator rowIterator = sheet.iterator();

while (rowIterator.hasNext()) {

Row row = rowIterator.next();

Iterator cellIterator = row.cellIterator();

List rowValues = new ArrayList();

while (cellIterator.hasNext()) {

Cell cell = cellIterator.next();

switch (cell.getCellType()) {

case STRING:

rowValues.add(cell.getStringCellValue());

break;

case NUMERIC:

rowValues.add(cell.getNumericCellValue());

break;

case BOOLEAN:

rowValues.add(cell.getBooleanCellValue());

break;

default:

rowValues.add(null);

break;

}

}

Object[] rowArray = new Object[rowValues.size()];

rowArray = rowValues.toArray(rowArray);

rows.add(rowArray);

}

insertIntoDatabase(databaseName, rows);

file.close();

} catch (Exception ex) {

ex.printStackTrace();

}

}

});

button2.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

}

“`

此代码使用ActionListener监听器为按钮添加操作。单击Export按钮将读取Excel文件,将数据存储在内存中,然后将数据插入到MySQL数据库中。如果单击Exit按钮,则程序将退出。

六、结论

相关问题拓展阅读:

  • 怎么用JAVA链接数据库ORACLE实现导出一个表

怎么用JAVA链接数据库ORACLE实现导出一个表

你可以用 swing 或 jsp 来做:

swing:

我写的样例:

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.*;

import java.awt.*;

import javax.swing.*;

public class data extends JFrame implements ActionListener{

JButton select,print;

JTable table;

Object body=new Object;

String title={“编号”,”用户名”,”密码”,”邮箱”};

Connection conn;

Statement stat;

ResultSet rs;

JTabbedPane tp;

public data() {

super(“用户信息”);

this.setSize(700,500);

this.setLocation(500,400);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel ps=new JPanel();

select=new JButton(“查询”);

print=new JButton(“打印预览”);

select.addActionListener(this);

print.addActionListener(this);

ps.add(select);

ps.add(print);

table=new JTable(body,title);

tp=new JTabbedPane();

tp.add(“t41c_user表”,new crollPane(table));

this.getContentPane().add(tp,”Center”);

this.getContentPane().add(ps,”South”);

this.setVisible(true);

this.connection();

}

public void connection(){

try {

Class.forName(“oracle.jdbc.driver.OracleDriver”);

String url=”jdbc:oracle:thin:@*.*.*.*:1521:orcl”;

conn=DriverManager.getConnection(url,”username”,”password”);

stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_READ_ON);

} catch (Exception ex) {

}

}

public static void main(String args) {

data data= new data();

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==select)

{select();}

else if(e.getSource()==print)

{print();}

}

public void print()

{}

public void select() {

try {

for(int x=0;x

body=null;

body=null;

body=null;

body=null;

}

int i=0;

rs=stat.executeQuery(“select * from t41c_user”);

while(rs.next()){

body=rs.getInt(1);

body=rs.getString(2);

body=rs.getString(3);

body=rs.getString(4);

i=i+1;

}

this.repaint();

} catch (SQLException ex) {

}

}

}

jsp:

swing从数据库中导出excel的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于swing从数据库中导出excel,快速学习:使用Swing导出Excel文件到数据库。,怎么用JAVA链接数据库ORACLE实现导出一个表的信息别忘了在本站进行查找喔。

数据库运维技术服务 » 快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel) 快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图

管理员 普通

分享到:

相关推荐

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1

Oracle数据库实例名修改教程:轻松完成重命名 (oracle改数据库实例名)

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1

轻松获取MSDE数据库下载海量资源随意下载 (msde数据库下载)

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1

深入探索数据库中的常用时间函数 (数据库函数时间函数)

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1

修改数据库命令指南 (修改数据库使用的命令)

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1

MFC ADO 数据库关联实现技巧 (mfc ado关联数据库)

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1

利用调查问卷数据库实现数据分析与应用 (引用调查问卷的数据库)

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1

如何在日历中显示PHP数据库查询到的数据 (php 数据库查查出的数据如何显示在日历)

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1

Oracle数据库中汉字长度限制及解决方案 (orcle数据库汉字长度)

随机文章

快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1 如何轻松学会查看Java代码中的数据库 (如何查看java代码的数据库) 快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1 掌握技巧:数据库用户如何成为DBA? (数据库如何用户赋dba的身份) 快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1 使用 GridView 控件展示数据库数据 (gridview 数据库) 快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1 服务器和数据库宕机,业务中断,如何应对? (服务器和数据库断了) 快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1 什么是db文件,它与什么有关? (db文件 数据库文件) 快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图1 如何判断SQL数据库类型是否为空? (sql数据库类型是否为空)

最近更新
  • SQL Server开启进销存管理(sqlserver进销存)
  • Windows用户学习Linux远程连接命令(linux 远程连接命令)
  • 手把手教你使用MySQL创建数据库(mysql手动创建数据库)
  • Oracle数据库的紧缩之路(oracle 数据库收缩)
  • 为项目构建更优性能: 使用Redis缓存(项目中使用redis缓存)
  • 备份简单又高效——Linux开源备份软件(linux 开源备份软件)
  • 改变MSSQL数据库端口号:一个简单的方法指南(改mssql数据库端口号)
  • MSSQL分区表索引:优化数据存储(mssql 分区表 索引)
  • MSSQL客户端工具:快速下载体验!(mssql客户端工具下载)
  • MSSQL独占模式加速数据库更新(mssql 独占 更新)
  • 话题SQLServer:探索最新技术发展趋势(关于SQLServer的)
  • 用Redis维护IP限制列表(redis ip限制)
  • MySQL如何运行SQL文件(mysql运行sql文件)
  • MSSQL 更新文件组结构:简便、高效、安全(MSSQL修改文件组)
  • 优秀的SQL Server:值得信赖的性能特点(sqlserver 特点)
  • MSSQL与RAVN技术结合,更好地保护数据安全(mssql ravn)
  • MSSQL数据库密码:查看指南(mssql数据库密码查看)
  • MSSQL获取月份数据实现方案(mssql 获取月份)
  • Redis缓解项目压力:细节决定成败(项目加redis)
  • 【mssql中实现多个like查询的方式】(mssql 多个like)
  • 标签

    Linux Linux教程 Linux资讯 MacOS MacOS教程 MacOS资讯 MongoDB MongoDB教程 MongoDB资讯 MSSQL MSSQL错误 MySQL mysql教程 MySQL维护 MySQL资讯 Neo4j Neo4j教程 Neo4j资讯 ORACLE Oracle优化 oracle内部视图 oracle参数 oracle开发 oracle异常修复 oracle故障处理 oracle教程 oracle维护 oracle视图 ORACLE资讯 oracle远程维护 ORA错误码 Redis Redis教程 Redis资讯 SQLServer SQLServer报错 SQLServer教程 SQLServer资讯 SQL修复 SQL异常 SQL远程处理 Windows 技术文档 操作系统 数据库

    快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图2

    技术标签:安装配置、性能优化、备份恢复、异常处理、数据迁移、咨询服务。

    本站导航
    • 服务范围
    • 关于我们
    • 隐私政策
    技术文章
    • 数据库技术
    • 操作系统技术
    • 教程服务
    快速搜索

    数据恢复、异常处理、MySQL、Oracle

    本站部分资源来自互联网收集,仅供用于学习和交流,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站站长删除

    © 2020 Theme by - 数据服务 . All rights reserved 苏ICP备15021567号


    快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图2

    • 登录
    • 注册

    安全登录 立即注册 忘记密码? 快速学习:使用Swing导出Excel文件到数据库。 (swing从数据库中导出excel)插图2

    香港服务器首选后浪云,2H2G首月10元开通。
    后浪云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

    THE END