完成数据库的连接

  

获取连接参数

  

  

拷贝1.数据库URL 2.驱动程序类 3.用户

编写Servlet

  1.创建连接对象

 Connection con = null;
PreparedStatement prst = null;
ResultSet rs = null;

 

  2.写入连接参数

   String url = "数据库URL";
String driver = "驱动程序类";
String user = "用户";
String password = "数据库用户密码";

 

  3.连接数据库,编写sql语句

 Class.forName(driver)
con = DriverManager.getConnection(url,user,password);
String sql = "UPDATE [表] SET [目标列]=? WHERE [目标列]=?";

  4.读取execel

 Workbook book = Workbook.getWorkbook(new File("文件路径"));
Sheet sheet = book.getSheet(工作表序号);

  5.写一个for循环

 //一个整型,注意excel从第几行开始是更新值,注意范围设置,i++
for (int i = 1; i < 215; i++) {
// 使用jxl包,读取单元格(列序号,行序号)
jxl.Cell cell0 = sheet.getCell(0, i);
jxl.Cell cell1 = sheet.getCell(1, i);
//声明变量,取单元格的文本内容
String result0 = cell0.getContents();
String result1 = cell1.getContents();
//编译预编译语句,将两个单元格内容传入sql语句
prst = con.prepareStatement(sql);
// 注意位置(数字表示第几个问号,传入变量)
prst.setString(2, result0);
prst.setString(1, result1);
//执行sql语句
prst.executeUpdate();
}

  6.关掉excel读取

 book.close();

完整代码

 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
Connection con = null;
PreparedStatement prst = null;
ResultSet rs = null;
String url = "jdbc:sqlserver://localhost:***;databaseName=***";
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String user = "sa";
String password = "***";
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
String sql = "UPDATE [***] SET [***]=? WHERE [***]=? ";
Workbook book = Workbook.getWorkbook(new File("****"));
Sheet sheet = book.getSheet(*);
//一个整型,注意excel从第几行开始是更新值,注意范围设置,i++
for (int i = *; i <***; i++) {
// 使用jxl包,读取单元格(列序号,行序号)
jxl.Cell cell0 = sheet.getCell(0, i);
jxl.Cell cell1 = sheet.getCell(1, i);
//声明变量,取单元格的文本内容
String result0 = cell0.getContents();
String result1 = cell1.getContents();
//编译预编译语句,将两个单元格内容传入sql语句
prst = con.prepareStatement(sql);
// 注意位置(数字表示第几个问号,传入变量)
prst.setString(2, result0);
prst.setString(1, result1);
//执行sql语句
prst.executeUpdate();
}
out.print("<h1><strong>成功!</strong></h1>");
book.close();
} catch (BiffException ex) {
Logger.getLogger(doH.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(doH.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(doH.class.getName()).log(Level.SEVERE, null, ex);
}
}

注意事项:

  1.该方法用的jxl的包,需要在库中导入

  

  2.操作数据库需要try{}catch 来抛出异常,先码

Class.forName(driver);

  处理方式

  

接着码

prst = conn.prepareStatement(sql);

添加catch子句

Servlet读取Excel标准化数据库过程记录的更多相关文章

  1. SQLBulkCopy使用实例--读取Excel写入数据库/将 Excel 文件转成 DataTable

    MS SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表可以在不同服务器上). SqlBulkCopy 类允许编写提供类似功能的托管代码解决方 ...

  2. 读取excel到数据库里面

    //读取excel数据到dataTable里面 public DataTable ReadExcelDataToDataTable(string path) { DataTable dt = new ...

  3. ThinkPHP3.2.3 PHPExcel读取excel插入数据库

    版本 ThinkPHP3.2.3 下载PHPExcel 将这两个文件放到并更改名字 excel文件: 数据库表: CREATE TABLE `sh_name` ( `name` varchar(255 ...

  4. 无需上传附件到服务器,Servlet读取Excel(二)

    package com.str; import java.io.File;import java.io.FileInputStream;import java.io.IOException; impo ...

  5. Java小知识----POI事件模式读取Excel 2007

    一.知识背景 1.读取excel的方法选择问题 java中读excel中的时间,我们通常用POI去解析,在使用new HSSFWorkbook(NEW FileInputStream(excelFil ...

  6. 读取Excel的记录并导入SQL数据库

    准备一下,近段时间,需要把Excel的数据导入数据库中. 引用命名空间: using System.Configuration; using System.Data; using System.Dat ...

  7. java读取excel文件数据导入mysql数据库

    这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...

  8. Java web项目 Jxl 读取excel 并保存到数据库,(从eclipse上移动到tomact服务器上,之路径更改,)

    最开始在eclipse中测试的时候,并没有上传到服务器上,后来发现,想要读取数据必须上传服务器然后把文件删除就可以了,服务器不可以直接读取外地的文件.用到jxl 1.上传到服务器 前端 <for ...

  9. Java 用jxl读取excel并保存到数据库(此方法存在局限,仅限本地电脑操作,放在服务器上的项目,需要把文件上传到服务器,详细信息,见我的别的博客)

    项目中涉及到读取excel中的数据,保存到数据库中,用jxl做起来比较简单. 基本的思路: 把excel放到固定盘里,然后前段页面选择文件,把文件的名字传到后台,再利用jxl进行数据读取,把读取到的数 ...

随机推荐

  1. 安装centos6.5如何选择安装包

    (1)系统安装类型选择及自定义额外包组 进入如图2-28所示界面.上半部分是系统定制的不同的系统安装类型选择项,默认是"Desktop",这里我们选择"Minimal&q ...

  2. 小明的密码-初级DP解法

    #include #include #include using namespace std; int visited[5][20][9009];// 访问情况 int dp[5][20][9009] ...

  3. maven向本地仓库导入jar包(处理官网没有的jar包)

    对于官网没有的jar包,maven向本地仓库导入jar包用如下命令 mvn install:install-file -DgroupId=包名 -DartifactId=项目名 -Dversion=版 ...

  4. How the problem solved about " Dealing with non-fast-forward errors"

    Recently ,I got confused When I use  git to push one of my project. The problem is below: And I Foun ...

  5. jQuery插件开发代码

    方法和原理在这篇博文中非常详细易懂 http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 下面整理下基本知识点和基本的代码段: jQue ...

  6. SDWebImage清理图片缓存方法

    //获取当前缓存大小 @property (nonatomic, assign) NSUInteger tmpSize; //获取缓存大小并储存 _tmpSize=[[SDImageCache sha ...

  7. Best code水题之路

    BestCoder 2nd Anniversary: 1001.Oracle There is once a king and queen, rulers of an unnamed city, wh ...

  8. iOS Universal Links(通用链接)

    公司的运维,发现最近大量的请求 /.well-known/apple-app-site-association这个文件,造成了大量的404,可是这是谁请求的呢? 其实是苹果从iOS9.3开始更改了通用 ...

  9. 21. Merge Two Sorted Lists —— Python

    题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splici ...

  10. java常见的问题

    1.   接口与抽象类的区别? 抽象类:含有abstract修饰的class即为抽象类abstract类不能创建实例对象,不能有抽象的构造方法或抽象的静态方法,如果子类没有实现抽象父类中的所有 方法, ...