java把Excel文件数据导入数据库详解编程语言
2023-06-13 09:20:29 时间
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class ReadxlXLSToDB {
// 定义总列数
private int columnNum;
public int getColumnNum() {
return columnNum;
public void setColumnNum(int columnNum) {
this.columnNum = columnNum;
private static Connection conn = null;
private static Statement stmt = null;
static String dbUrl = "jdbc:mysql://localhost:3306/test?user=root password=blue useUnicode=true characterEncoding=utf8";
private final static String driver = "com.mysql.jdbc.Driver";
private static boolean connectionDB() {
try {
Class.forName(driver);
conn = DriverManager.getConnection(dbUrl);
stmt = conn.createStatement();
} catch (ClassNotFoundException cnfex) {
System.err.println("加载数据库驱动失败!");
cnfex.printStackTrace();
return false;
} catch (SQLException sqle) {
System.err.println("无法连接数据库!");
sqle.printStackTrace();
return false;
} catch (Exception e) {
System.err.println("错误");
return false;
return true;
public void readSheet() {
POIFSFileSystem fs = null;
HSSFWorkbook wb = null;
String sql = "", sql1 = "", sql2 = "";
try {
fs = new POIFSFileSystem(new FileInputStream("d://1.xls"));
wb = new HSSFWorkbook(fs);
} catch (IOException e) {
e.printStackTrace();
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = null;
HSSFCell cell = null;
String name = "";
int rowNum, cellNum;
int i, j;
// 获取总行数
rowNum = sheet.getLastRowNum();
for (i = 0; i = rowNum; i++) {
row = sheet.getRow(i);
cellNum = row.getLastCellNum();
for (j = 0; j cellNum; j++) {
cell = row.getCell((short) j);
name = cell.getStringCellValue();
sql1 = sql1 + "num" + (j + 1) + ",";
sql2 = sql2 + "" + name + ",";
sql = "insert into xls ("
+ sql1.subSequence(0, sql1.lastIndexOf(",")) + ") values ("
+ sql2.substring(0, sql2.lastIndexOf(",")) + ")";
System.out.println(sql);
try {
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
System.err.println("在插入数据时第" + (i + 1) + "失败!");
sql1 = "";
sql2 = "";
public void readOut() {
connectionDB();
String sql = "select * from xls";
try {
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
for (int i = 1; i = columnNum; i++)
System.out.print(rs.getString(i) + "/t");
System.out.println();
} catch (SQLException e) {
System.err.println("无法查询!");
e.printStackTrace();
public void deleteDB() {
connectionDB();
String sql = "drop table xls";
try {
stmt.executeUpdate(sql);
} catch (SQLException e) {
System.err.println("无法删除数据表!");
e.printStackTrace();
public void creatTable(int columnNum) {
int i;
String sql = "", sql1 = "";
for (i = 1; i = columnNum; i++)
sql1 = sql1 + "`" + "num" + i + "` varchar(50),";
sql = "create table xls(`id` int(11) NOT NULL auto_increment," + sql1
+ " PRIMARY KEY (`id`))ENGINE=MyISAM DEFAULT CHARSET=utf8";
try {
stmt.executeUpdate(sql);
System.out.println(sql);
} catch (SQLException e) {
System.err.println("无法创建数据表!");
e.printStackTrace();
public static void main(String args[]) {
ReadxlXLSToDB db = new ReadxlXLSToDB();
db.setColumnNum(5);
if (ReadxlXLSToDB.connectionDB()) {
db.creatTable(db.getColumnNum());
db.readSheet();
} else {
System.out.println("不好意思,连接不成功!你失败了!!!");
db.readOut();
}
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/10778.html
cjavamysql相关文章
- 在java中print和println_JAVA命令行参数
- JAVA多线程面试题_java多线程的实现方式
- java强制删文件夹_Java 删除文件夹 和 文件 集合
- 做了三年Java,java注释的三种形式
- 安卓java游戏模拟器_Java手机游戏模拟器
- java在线播放_Java实现视频在线播放flv视频
- 图片链接如何在excel里转成图片_mdf文件怎么转成Excel
- Java方法重载_java入门方法的使用
- JAVA以UTF-8导出CSV文件,用excel打开产生乱码的解决方法
- 【Java】@ApiOperation vs @ApiResponse in Swagger
- Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载详解编程语言
- java POI读取Excel文件详解编程语言
- Java数据导出(写)Excel文件 解析详解编程语言
- 使用POI生成Excel文件,可以自动调整excel列宽详解编程语言
- Java操作MySQL数据库:实现看似不可能的梦想(java连接mysql数据库)
- 连接高效完成Java面试:掌握Oracle连接知识(java面试oracle)
- MySQL读取Excel文件的简单方法(mysql读取excel)
- 节点使用Java管理Redis过期节点(redisjava过期)
- Java轻松处理Redis缓存(java处理redis)
- Java技术封装Redis,打造高效数据处理系统(java封装redis)
- Novice:学习Java 7 在Linux上的简单入门(java 7 linux)
- 查找Java进程:Linux解决方案(linux查找java进程)
- Java更新提升Oracle软件性能(java更新oracle)
- 询Java与Oracle联合查询更高效的数据处理方式(java oracle查)
- php读取EXCEL文件phpexcelreader读取excel文件
- Java使用jxl包写Excel文件适合列宽实现
- java读取excel文件并复制(copy)文件到指定目录示例
- java使用poi读取ppt文件和poi读取excel、word示例