博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用JDBC-ODBC读取Excel文件
阅读量:6349 次
发布时间:2019-06-22

本文共 2537 字,大约阅读时间需要 8 分钟。

以下代码我没有真正去实践,紧做为总结,方便以后查阅:

这种方法需要设置ODBC源.....

参考:

附代码:

1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.ResultSet; 4 import java.sql.SQLException; 5 import java.sql.Statement; 6  7 import org.dom4j.Document; 8 import org.dom4j.DocumentHelper; 9 import org.dom4j.Element;10 11 /**12  * 这种读取Excel的方式应该配配置ODBC数据源.13  * @author CDV-DX714  *15  */16 public class ExcelUtil {17     private String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";18     private String dataSourceUrl = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ="; // 不设置数据源19 20     public     ExcelUtil(){}21         22     public void setDriverName(String driverName){23         this.driverName = driverName;24     }25     26     /**27      * 从excel中获取数据,转化为XML28      * @param excelUrl29      * @param sheetName30      * @return31      * @throws ClassNotFoundException32      * @throws SQLException33      */34     public Document getExcelData(String excelUrl, String sheetName)35             throws ClassNotFoundException, SQLException {36         Connection dbConn = null;37         try {38             Class.forName(this.driverName);39             excelUrl = this.dataSourceUrl + excelUrl;40             dbConn = DriverManager.getConnection(excelUrl, "", "");41             Statement smt = dbConn.createStatement();42             ResultSet rs = smt.executeQuery("select * from [" + sheetName + "$]");43             Document doc = DocumentHelper.createDocument();44             Element elmRoot = doc.addElement("Tab");45             while (rs.next()) {46                 Element elmRow = elmRoot.addElement("Row");47 48                 int colNum = rs.getMetaData().getColumnCount();49                 for (int i = 1; i <= colNum; i++) {50                     Element elmCol = elmRow.addElement("Col");51                     elmCol.setText(rs.getString(i));52                 }53             }54         55             return doc;56         } finally {57             dbConn.close();58         }59     }60             61     public static void main(String[] args) {62         try{63             //使用方法示例64             String excelUrl = "C:\\Users\\CDV-DX7\\Desktop\\节目信息输入数据.xls";65             String sheetName = "节目列表";66             ExcelUtil excelutil = new ExcelUtil();67             excelutil.getExcelData(excelUrl,sheetName);68         }catch (Exception e){69             e.printStackTrace();70             System.out.println("出错啦:"+e.getMessage());71         }72     }73 }

 

转载于:https://www.cnblogs.com/DreamDrive/p/5826939.html

你可能感兴趣的文章
servlet笔记
查看>>
JVM(五)垃圾回收器的前世今生
查看>>
CentOS 7 下安装 Nginx
查看>>
Spring Boot 自动配置之@EnableAutoConfiguration
查看>>
web前端笔记
查看>>
import 路径
查看>>
使用optimizely做A/B测试
查看>>
finally知识讲解
查看>>
Matplotlib绘图与可视化
查看>>
openstack ocata版(脚本)控制节点安装
查看>>
【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...
查看>>
在开发中处理海量数据的方法 思路
查看>>
datatable 获取最大值
查看>>
sqlserver2012一直显示正在还原(Restoring)和从单用户转换成多用户模式(单用户连接中)...
查看>>
spark复习总结02
查看>>
李瑞红201771010111《第九周学习总结》
查看>>
[译]ZOOKEEPER RECIPES-Barriers
查看>>
navicat下载安装和激活一分钟完成
查看>>
6_5 一些有用网址
查看>>
NFC 鏈表操作
查看>>