package com.company.dao;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.company.common.ConnectDatabase;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class IntoSqlDAOImpl implements IntoSqlDAO {
public boolean into(String url, String tablename) {
boolean sign=false;
try {
InputStream is = new FileInputStream(url);
Workbook wb = Workbook.getWorkbook(is);
Sheet st = wb.getSheet(0);
System.out.println("该表含有" + st.getRows() + "行");
System.out.println("该表含有" + st.getColumns() + "列");
boolean frist_o = true, frist_s = true;
int sum = 0;
String[] a = new String[st.getColumns() + 2];
for (int j = 1; j < st.getRows(); j++) {
for (int i = 0; i < st.getColumns(); i++) {
if (frist_o) {
System.out.println("开始读数据...");
frist_o = false;
}
Cell cell = st.getCell(i, j);
String contents = cell.getContents().trim();
a[0] = "insert into " + tablename + " values(";
a[st.getColumns() + 1] = ")";
a[i + 1] = contents;
}
if (a.length != 0) {
if (frist_s) {
System.out.println("开始把数据写入数据库...");
}
ConnectDatabase conn = new ConnectDatabase();
Statement stmt = conn.createStatement();
System.out.println("开始拼接SQL语句...");
StringBuffer vec = new StringBuffer();
if (a.length != 0) {
for (int n = 0; n < a.length; n++) {
if (n == 0) {
vec.append(a[n]);
}
if (0 < n && n <= a.length - 2) {
if (0 < n && n < a.length - 2) {
vec.append("'" + a[n] + "'" + ",");
} else {
vec.append("'" + a[n] + "'");
}
}
if (n == a.length - 1) {
vec.append(a[n]);
}
}
}
String sql = vec.toString();
System.out.println(sql);
int rs = stmt.executeUpdate(sql);
sign=true;
conn.closeConn();
System.out.println("关闭数据库...");
System.out.println("写入数据库成功!数据库已经关闭!");
sum++;
}
}
System.out.println("写入数据库完毕!");
System.out.println("一共有" + sum + "条数据写入到服务器!");
wb.close();
is.close();
System.out.println("操作成功!");
} catch (FileNotFoundException e) {
System.out.println("文件目录不存在!");
sign = false;
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return sign;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Excel数据读写到sql
共57个文件
tld:20个
jar:10个
class:7个
需积分: 9 4 下载量 39 浏览量
2008-09-16
09:43:56
上传
评论 1
收藏 1.66MB RAR 举报
温馨提示
只需要修改方法中的数据库表名,把Excel放在一个硬盘下,不要是中文名字。如果标的主键是自增的,在Excel中少写一列。
资源详情
资源评论
资源推荐
收起资源包目录
ReadXlsIntoSql.rar (57个子文件)
ReadXlsIntoSql
.project 1KB
.mymetadata 315B
WebRoot
WEB-INF
struts-tiles.tld 8KB
fmt-1_0.tld 12KB
fmt.tld 19KB
.struts-config.mex 757B
sql-1_0-rt.tld 5KB
fmt-1_0-rt.tld 11KB
permittedTaglibs.tld 1KB
web.xml 942B
struts-config.xml 700B
struts-bean.tld 9KB
scriptfree.tld 2KB
c-1_0-rt.tld 11KB
c-1_0.tld 11KB
struts-nested.tld 70KB
x-1_0-rt.tld 7KB
struts-html.tld 72KB
struts-logic.tld 14KB
x.tld 12KB
validator-rules.xml 13KB
sql.tld 8KB
lib
commons-logging.jar 37KB
commons-digester.jar 164KB
commons-fileupload.jar 22KB
commons-beanutils.jar 184KB
jstl.jar 20KB
antlr.jar 350KB
struts.jar 531KB
commons-validator.jar 82KB
jakarta-oro.jar 64KB
standard.jar 384KB
classes
com
company
dao
IntoSqlDAO.class 174B
IntoSqlDAOImpl.class 3KB
mvc
IntoSqlAction.class 2KB
form
InSqlForm.class 792B
common
ConnectDatabase.class 2KB
service
IntoSqlService.class 186B
IntoSqlServiceImpl.class 683B
ApplicationResources.properties 75B
sql-1_0.tld 6KB
c.tld 16KB
fn.tld 7KB
x-1_0.tld 7KB
META-INF
MANIFEST.MF 39B
Into.jsp 861B
ok.jsp 1KB
.myeclipse
src
com
company
dao
IntoSqlDAO.java 139B
IntoSqlDAOImpl.java 3KB
mvc
IntoSqlAction.java 1KB
form
InSqlForm.java 964B
common
ConnectDatabase.java 1KB
service
IntoSqlService.java 146B
IntoSqlServiceImpl.java 352B
ApplicationResources.properties 75B
.mystrutsdata 240B
.classpath 1KB
共 57 条
- 1
zting520
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 第12章spring-mvc自定义类型转换器
- 基于PHP图书管理系统实验报告.docx
- Python爬取淘宝热卖商品并可视化分析
- 5152单片机proteus仿真和源码将按键次数写入AT24C02再读出并用1602LCD显示
- SE-SSD复现过程(Det3D的安装教程)
- 基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic
- 串口通过 YMODEM 协议进行文件传输
- 蓝桥杯2024年第十五届省赛真题-前缀总分
- com.qihoo.appstore_300101305-1.apk
- tensorflow-gpu-2.7.1-cp37-cp37m-manylinux2010-x86-64.whl
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0