Java操作excel
最近公司要求把excel的数据导入到数据库中去。当时没怎么想就直接用java.sql包下的类把数据读出来然后拼装成sql语句,顺利完成了任务。后来用第三方插件实现了读,写,修改excel文件。 现在拿出来就和大家分享。希望能够在某种程度上帮大家解决一些实际问题。
第三方组件可以在此下载:http://nexcel.sourceforge.net/
首先我们先用Jdbc-Odbc桥连接excel文件:
先配置好数据源(我的操作系统是Windows 7英文版,可能和大家的不一样):管理工具(Administrative Tools)->数据源(Data Source ODBC)->添加(Add),选择 Microsoft do Driver Excel->完成(Finish)->填写数据源名(Data Source Name)->选择工作薄(Select Workbook)找到你的excel文件就可以了。这里不多说了,大家可以查找相关资料。下面是我的测试代码:
public static void readXLSByJdbcOdbc() {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
//这里使用JdbcOdbc桥
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//new为数据源名
conn = DriverManager.getConnection("jdbc:odbc:test");
//表明要用[$]括起来,data对应的是excel中sheet名
ps = conn.prepareStatement("select * from [Person$]");
rs = ps.executeQuery();
while(rs.next()) {
System.out.println(rs.getLong("uid") + "\t" + rs.getString("用户名") + "\t" + rs.getString("pwd"));
}
&n
相关文档:
123、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt. ......
用了这个,MyEclipse里就不会报那些警告了,看起来漂亮多了
常用的:
@SuppressWarnings("unchecked"),泛型
@SuppressWarnings("deprecation"), deprecated方法
@SuppressWarnings(value={"deprecation","unchecked"}) 双选
@SuppressWarnings("serial"), 序列化
......
一、准备工作
先了解一下概念,JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的。这是一个开始于 1999年的开源项目的成果,有很多使用者对该项目进行了修改,做出了自己的贡献。
Jacob下载地址:http://sourceforge.net/project/showfiles.ph ......
import java.util.Properties;
public class ConfigReader {
private static Properties cache = new Properties();
static{
try {
cache.load(ConfigReader .class.getClassLoader().getResourceAsStream("config.properties"));
} catch (Exception e) {
&nbs ......
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test {
public static void main(String arg[]) {
String fileName = "E:\\share\\test.txt";
File file = new File(fileName);
......