`
jackchen0227
  • 浏览: 148242 次
  • 性别: Icon_minigender_1
  • 来自: 帝都
社区版块
存档分类
最新评论

window7 下使用java从excel中读数据导入到sqlserver 2005

    博客分类:
  • Java
阅读更多
import java.lang.reflect.*;
import java.util.List;
import java.util.Map;
import java.util.regex.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

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;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;

import java.sql.*;


public class Main {
	 private static Connection conn;
	 private static Statement stmt;
	 private static String url = "jdbc:sqlserver://192.168.0.99:1433;DatabaseName=dormitoryManagementSys";
	 private static String classforname = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
	 private static String uid = "dmsys";
	 private static String pwd = "000000";
	 
	private static void insert(String sql){
		try{
			stmt.executeQuery(sql);
		}catch(SQLException ex)
		{			
			System.out.println(sql + "insert execute error!");
		}
	}
	private static void insertStudent(){
		try{
			POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("D:/work/dms/11.xls"));
			HSSFWorkbook wb = new HSSFWorkbook(fs);
			HSSFSheet sheet = wb.getSheetAt(0);
			
			HSSFRow row = null;
			String sql;
			for(int i=1;i<=sheet.getLastRowNum();i++){
				
				row = sheet.getRow(i);
				HSSFCell cell = row.getCell(2);			 
				cell.setCellType(cell.CELL_TYPE_STRING);
				HSSFRichTextString richStr = cell.getRichStringCellValue();
				String name = richStr.toString();
				
				cell = row.getCell(12);
				cell.setCellType(cell.CELL_TYPE_STRING);
				richStr = cell.getRichStringCellValue();
				Integer departmentId = Integer.parseInt(richStr.toString());
				
				cell = row.getCell(0);
				cell.setCellType(cell.CELL_TYPE_STRING);
				richStr = cell.getRichStringCellValue();
				String examId = richStr.toString();
				
				cell = row.getCell(1);
				cell.setCellType(cell.CELL_TYPE_STRING);
				richStr = cell.getRichStringCellValue();
				String identyId = richStr.toString();
				
				cell = row.getCell(8);
				cell.setCellType(cell.CELL_TYPE_STRING);
				richStr = cell.getRichStringCellValue();
				String sex = "m";
				if(richStr.toString() == "2")
					sex = "w";
				
				sql = "insert into student(exam_num,identy_num,name,department_id,sex) values('"+ examId +"','" + identyId + "','"+ name + "'," + departmentId + ",'" + sex + "')";
				insert(sql);
			}
		}catch(IOException e){
			
		}
	}
	private static void insertDepartment(){
		try{
			POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("D:/work/dms/yxdm.xls"));
			HSSFWorkbook wb = new HSSFWorkbook(fs);
			HSSFSheet sheet = wb.getSheetAt(0);
			
			HSSFRow row = null;
			String sql;
			for(int i=1;i<=sheet.getLastRowNum();i++){
				
				row = sheet.getRow(i);
				HSSFCell cell = row.getCell(0);			 
				cell.setCellType(cell.CELL_TYPE_STRING);
				HSSFRichTextString richStr = cell.getRichStringCellValue();
				String name = richStr.toString();
				
				cell = row.getCell(1);
				cell.setCellType(cell.CELL_TYPE_STRING);
				richStr = cell.getRichStringCellValue();
				Integer departmentId = Integer.parseInt(richStr.toString());			
				sql = "insert into department(name,id) values('"+ name + "'," + departmentId + ")";
				insert(sql);
			}
		}catch(IOException e){
			
		}
	}
	public static void main(String []args){		
		System.out.println("test");
		try{
		 Class.forName(classforname);
		}catch(ClassNotFoundException  ex){			
		}
		try{
			conn = DriverManager.getConnection( url, uid, pwd);
			stmt = conn.createStatement();
		}catch(SQLException ex){
			 System.out.println("connecttion error!");
			 ex.printStackTrace();
			return;
		}	
		insertStudent();
	}
}
 

首先:安装 jdbc驱动 可以去微软上下载,具体的版本要跟操作体统匹配(window 7)下要使用3.0版

其次,解压下载的驱动到\Program Files (x86)目录

再次,在eclipse中添加这个jar

 

:1.因为SQLexpress服务器默认是禁用的并且端口号没有配置,所以要进行重新设置
2.如果你以前用java连接sql server 2000的话就要注意了:
在sql server 2000 中加载驱动和URL路径的语句是
String driverName = "com.microsoft.jdbc .sqlserver .SQLServerDriver";
String dbURL = "jdbc :microsoft :sqlserver ://localhost:1433; DatabaseName=rs";
而sql server 2005 中加载驱动和url的语句则为
String driverName = "com.microsoft.sqlserver .jdbc .SQLServerDriver";
String dbURL = "jdbc:sqlserver ://localhost:1433; DatabaseName=rs";
如果写法错误将会找不到驱动.

sqlserver数据库:java连接sqlserver2005数据库心得体会

首先得下载驱动程序到微软网站下载Microsoft SQL Server 2005 JDBC Driver 1.2  解压Microsoft SQL Server 2005 jdbc driver1.2.exe

分享到:
评论

相关推荐

    java jdk实列宝典 光盘源代码

    java为数据结构中的列表定义了一个接口类java.util.list同时提供了3个实现类,分别是ArrayList、Vector、LinkedList使用; 生成不重复的随机数序列;列表、集合与数组的互相转换;java为数据结构中的映射定义一个接口...

    iteye的技术博客集合

    - **SQL Server 2005 使用**:SQL Server 2005 相比 2000 版本有了较大改进,这部分内容主要介绍了如何使用 SQL Server 2005 的新特性,例如增强的安全性、改进的数据类型支持等。 - **破解 Navicat Premium**:虽然...

    数据库插件

    6. **数据导入/导出**:方便用户将数据从或导入到文件,如CSV或Excel格式。 7. **调试和性能分析**:可以设置断点,单步执行SQL,分析查询性能,优化查询计划。 在Eclipse的插件体系中,`features`和`plugins`目录...

    eclipse插件之DBViewer

    6. **导入导出数据**:支持将数据导出为CSV、Excel、XML等格式,也可以导入外部文件到数据库中。 7. **日志查看**:记录执行的SQL语句和操作,便于追踪和分析问题。 ### 二、DBViewer的安装与配置 1. **Eclipse ...

    kettle 使用手册

    从Excel文件中读取数据。 - **CSV输入** 1. 从CSV文件中读取数据。 - **Json输入** 1. 从JSON文件中读取数据。 - **输出** - **表输出** 1. 将数据写入数据库表。 - **插入/更新** 1. 根据条件插入新记录或...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    技术点 ADO.Net技术应用、SQLServer、MD5安全算法、基于NPOI的Excel文件处理、树状结构数据处理、递归、CodeSmith、代码生成器、三层架构。 项目说明 这是一个用WinForm技术实现的系统,传智播客在开课的半个月就...

    jsp 文件下载示例代码

    在后端JSP页面中,我们看到导入了几个Java IO相关的类,如`OutputStream`、`PrintWriter`、`FileNotFoundException`、`File`和`FileInputStream`,这些都是处理文件输入输出的关键类。JSP页面首先获取请求的真正路径...

Global site tag (gtag.js) - Google Analytics