- 浏览: 41033 次
- 性别:
- 来自: 北京
文章分类
最新评论
方法一
/**
*使用Hibernate框架导入
* @throws IOException
* @throws BiffException
*/
public String imp() throws BiffException, IOException {
TYh user = (TYh) session.get(SSHConstant.ONLINE_USER);// 获取用户信息
//输入流
InputStream fis = null;
try {
fis = new FileInputStream(excelName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
//得到解析Excel的实体集合
//打开文件
try {
Workbook book = Workbook.getWorkbook(fis);
//得到第一个工作表对象
Sheet sheet = book.getSheet(0);
//得到第一个工作表中的总行数
int rowCount = sheet.getRows();
//循环取出Excel中的内容
for (int i = 1; i < rowCount; i++) {
Cell[] cells = sheet.getRow(i);
YpLsgzry lsgz = new YpLsgzry();//new一个对象
lsgz.setLsgzryxm(cells[0].getContents());
lsgz.setLsgzryxb(cells[1].getContents());
lsgz.setLsgzrysfzh(cells[2].getContents());
lsgz.setLsgzryfl(cells[3].getContents());
lsgz.setLsgzryjf(cells[4].getContents());
lsgz.setLsgzrycphm(cells[5].getContents());
lsgz.setLsgzrygzyy(cells[6].getContents());
lsgz.setKsgzsj(cells[7].getContents());
lsgz.setJsgzsj(cells[8].getContents());
lsgz.setSqgzdw(cells[9].getContents());
lsgz.setSqrxm(cells[10].getContents());
lsgz.setSqrlxdh(cells[11].getContents());
lsgz.setJcf(cells[12].getContents());
lsgz.setGjf(cells[13].getContents());
lsgz.setLsgzryqttz(cells[14].getContents());
service.saveOrUpdate(lsgz);
logservice.savelogHadle(2, user.getYhm()+"导入", 1);//日志记录
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "add";
方法二
/**
*使用jdbc架导入
* @throws IOException
* @throws BiffException
*/
public class ImportExcelLsgzry {
public static List readExcel(String excelFileName) throws BiffException,IOException {
List<String[]> list = new ArrayList();
Workbook rwb = null;
Cell cell = null;
InputStream stream = new FileInputStream(excelFileName);
rwb = Workbook.getWorkbook(stream);
Sheet sheet = rwb.getSheet(0);
// 行数(表头的目录不需要,从1开始)
for (int i = 1; i < sheet.getRows(); i++) {
String[] str = new String[sheet.getColumns()];
// 列数
for (int j = 0; j < sheet.getColumns(); j++) {
// 获取第i行,第j列的值
cell = sheet.getCell(j, i);
str[j] = cell.getContents();
}
// 把刚获取的列存入list
list.add(str);
}
return list;
}
public static void main(String[] args) throws BiffException, IOException{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
PreparedStatement ps = null;
String url = "jdbc:oracle:thin:@10.1.7.79:1521:tjkf";
String username = "ypxx";
String password = "ypxx";
try {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
List l = ImportExcelLsgzry.readExcel("D:\\lsgz.xls");
try {
//TYh user = (TYh) session.get(SSHConstant.ONLINE_USER);// 获取用户信息
PreparedStatement prt = conn
.prepareStatement("insert into yp_lsgzry(id,lsgzryxm,lsgzryxb,lsgzrysfzh,lsgzryfl,lsgzryjf,lsgzrycphm,lsgzrygzyy,ksgzsj,jsgzsj,sqgzdw,sqrxm,sqrlxdh,jcf,gjf,lsgzryqttz) values (seq_yp_lsgzry.nextval,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
for (int i = 0; i < l.size(); i++) {
String[] li = (String[]) l.get(i);
prt.setString(1, li[0]);
prt.setString(2, li[1]);
prt.setString(3, li[2]);
prt.setString(4, li[3]);
prt.setString(5, li[4]);
prt.setString(6, li[5]);
prt.setString(7, li[6]);
prt.setString(8, li[7]);
prt.setString(9, li[8]);
prt.setString(10, li[9]);
prt.setString(11, li[10]);
prt.setString(12, li[11]);
prt.setString(13, li[12]);
prt.setString(14, li[13]);
prt.setString(15, li[14]);
prt.addBatch();
if (i % 500 == 0) {
prt.executeBatch();
}
}
prt.executeBatch();
} catch (Exception e) {
e.printStackTrace();
}
}
}
以下是页面:
<script type="text/javascript">
function checkfile(){
var FileType = "xls";
if(uploadForm.excelName.value == ""){
alert("请点击浏览按钮,选择您要导入的文件!");
}else{
str = uploadForm.excelName.value;
strs = str.toLowerCase();
//lens = strs.length;
extname = strs.substring(strs.lastIndexOf('.')+1, strs.length).toLowerCase();
//alert(extname);
if(FileType.indexOf(extname) == -1){
alert("请选择excel文件!");
}else{
uploadForm.submit();
}
}
}
</script>
<div id="import">
<s:form name="uploadForm" action="lsgzry!imp" method="post" onsubmit="return checkfile()" enctype="multipart/form-data" namespace="/background">
<input id="excelName" name="excelName" type="file" value="上传文件"></input>
<input type="button" onclick="checkfile();" value="开始导入" ></input>
<div style="color: gray">
<ol title="导入说明"><span style="font-weight: 600">导入说明</span>
<li>第一步 选择文件(Excel文件)。下载模板<a href="${Context}/upload/model.xls"> model.xls</a></li>
<li>第二步 点击开始导入</li>
<li>文件必须是Excel文件</li>
</ol>
</div>
</s:form>
</div>
/**
*使用Hibernate框架导入
* @throws IOException
* @throws BiffException
*/
public String imp() throws BiffException, IOException {
TYh user = (TYh) session.get(SSHConstant.ONLINE_USER);// 获取用户信息
//输入流
InputStream fis = null;
try {
fis = new FileInputStream(excelName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
//得到解析Excel的实体集合
//打开文件
try {
Workbook book = Workbook.getWorkbook(fis);
//得到第一个工作表对象
Sheet sheet = book.getSheet(0);
//得到第一个工作表中的总行数
int rowCount = sheet.getRows();
//循环取出Excel中的内容
for (int i = 1; i < rowCount; i++) {
Cell[] cells = sheet.getRow(i);
YpLsgzry lsgz = new YpLsgzry();//new一个对象
lsgz.setLsgzryxm(cells[0].getContents());
lsgz.setLsgzryxb(cells[1].getContents());
lsgz.setLsgzrysfzh(cells[2].getContents());
lsgz.setLsgzryfl(cells[3].getContents());
lsgz.setLsgzryjf(cells[4].getContents());
lsgz.setLsgzrycphm(cells[5].getContents());
lsgz.setLsgzrygzyy(cells[6].getContents());
lsgz.setKsgzsj(cells[7].getContents());
lsgz.setJsgzsj(cells[8].getContents());
lsgz.setSqgzdw(cells[9].getContents());
lsgz.setSqrxm(cells[10].getContents());
lsgz.setSqrlxdh(cells[11].getContents());
lsgz.setJcf(cells[12].getContents());
lsgz.setGjf(cells[13].getContents());
lsgz.setLsgzryqttz(cells[14].getContents());
service.saveOrUpdate(lsgz);
logservice.savelogHadle(2, user.getYhm()+"导入", 1);//日志记录
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "add";
方法二
/**
*使用jdbc架导入
* @throws IOException
* @throws BiffException
*/
public class ImportExcelLsgzry {
public static List readExcel(String excelFileName) throws BiffException,IOException {
List<String[]> list = new ArrayList();
Workbook rwb = null;
Cell cell = null;
InputStream stream = new FileInputStream(excelFileName);
rwb = Workbook.getWorkbook(stream);
Sheet sheet = rwb.getSheet(0);
// 行数(表头的目录不需要,从1开始)
for (int i = 1; i < sheet.getRows(); i++) {
String[] str = new String[sheet.getColumns()];
// 列数
for (int j = 0; j < sheet.getColumns(); j++) {
// 获取第i行,第j列的值
cell = sheet.getCell(j, i);
str[j] = cell.getContents();
}
// 把刚获取的列存入list
list.add(str);
}
return list;
}
public static void main(String[] args) throws BiffException, IOException{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
PreparedStatement ps = null;
String url = "jdbc:oracle:thin:@10.1.7.79:1521:tjkf";
String username = "ypxx";
String password = "ypxx";
try {
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
List l = ImportExcelLsgzry.readExcel("D:\\lsgz.xls");
try {
//TYh user = (TYh) session.get(SSHConstant.ONLINE_USER);// 获取用户信息
PreparedStatement prt = conn
.prepareStatement("insert into yp_lsgzry(id,lsgzryxm,lsgzryxb,lsgzrysfzh,lsgzryfl,lsgzryjf,lsgzrycphm,lsgzrygzyy,ksgzsj,jsgzsj,sqgzdw,sqrxm,sqrlxdh,jcf,gjf,lsgzryqttz) values (seq_yp_lsgzry.nextval,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
for (int i = 0; i < l.size(); i++) {
String[] li = (String[]) l.get(i);
prt.setString(1, li[0]);
prt.setString(2, li[1]);
prt.setString(3, li[2]);
prt.setString(4, li[3]);
prt.setString(5, li[4]);
prt.setString(6, li[5]);
prt.setString(7, li[6]);
prt.setString(8, li[7]);
prt.setString(9, li[8]);
prt.setString(10, li[9]);
prt.setString(11, li[10]);
prt.setString(12, li[11]);
prt.setString(13, li[12]);
prt.setString(14, li[13]);
prt.setString(15, li[14]);
prt.addBatch();
if (i % 500 == 0) {
prt.executeBatch();
}
}
prt.executeBatch();
} catch (Exception e) {
e.printStackTrace();
}
}
}
以下是页面:
<script type="text/javascript">
function checkfile(){
var FileType = "xls";
if(uploadForm.excelName.value == ""){
alert("请点击浏览按钮,选择您要导入的文件!");
}else{
str = uploadForm.excelName.value;
strs = str.toLowerCase();
//lens = strs.length;
extname = strs.substring(strs.lastIndexOf('.')+1, strs.length).toLowerCase();
//alert(extname);
if(FileType.indexOf(extname) == -1){
alert("请选择excel文件!");
}else{
uploadForm.submit();
}
}
}
</script>
<div id="import">
<s:form name="uploadForm" action="lsgzry!imp" method="post" onsubmit="return checkfile()" enctype="multipart/form-data" namespace="/background">
<input id="excelName" name="excelName" type="file" value="上传文件"></input>
<input type="button" onclick="checkfile();" value="开始导入" ></input>
<div style="color: gray">
<ol title="导入说明"><span style="font-weight: 600">导入说明</span>
<li>第一步 选择文件(Excel文件)。下载模板<a href="${Context}/upload/model.xls"> model.xls</a></li>
<li>第二步 点击开始导入</li>
<li>文件必须是Excel文件</li>
</ol>
</div>
</s:form>
</div>
发表评论
-
java/js 时间
2016-03-14 10:54 0/** * 根据传入时间获取上月月份 */ publ ... -
杂七杂八1
2016-03-14 10:51 0public ResponseModel execute(Re ... -
《转》fastjson生成和解析json数据,序列化和反序列化数据
2015-09-29 15:17 1820fastjson生成和解析json数据,序列化和反序列化数据 ... -
fastjson和数组,list,map之间转换
2015-09-29 14:36 4624package fastJson.test; imp ... -
java unicode编码转换才成汉字
2014-11-05 15:40 1738package com.bky.controller; p ... -
遍历Map的四种方法
2014-08-06 11:52 0public static void main(String[ ... -
java中URLEncoder.encode与URLDecoder.docode的使用
2014-08-01 10:09 0在http请求时,传递参数的时候,如果有中文,那么可以先转码再 ... -
URL地址中获取参数和值
2014-07-10 10:09 1245/* * Copyright 2012 The EGF ... -
深入java异常处理机制--深受启发(转)
2014-04-03 15:14 998(转载自:http://www.blogjava.net/fr ... -
java开发中各种异常
2014-04-03 14:33 582作为一名开发者,Ja ... -
java读取txt文件,导入数据库
2014-03-18 16:16 2170package com.egf.qingbao; impor ... -
java的Timer定时任务调度
2014-02-19 10:25 539//第一个类:监听 import java.util.Time ... -
超链接点击后不跳转
2014-01-27 15:16 1525让超链接点击后不跳转,可以用href = "#&q ... -
dom4j生成和解析xml文件
2014-01-27 15:17 670package com.test; import ... -
jdom生成和解析xml文件
2014-01-27 15:18 584package com.test; import ... -
java生成xml文件
2014-01-15 17:03 479/* * Copyright 2013 The EGF ... -
String类常用的方法
2013-04-23 12:02 638java中String的常用方法 1、length() 字符 ...
相关推荐
首先,Java实现Excel导入功能通常涉及解析Excel文件,这主要依赖于Apache POI库。Apache POI是一个开源项目,提供了API来处理Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。使用POI,你可以创建工作簿...
在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java POI Java POI 是一个开源的 Java 库,由 Apache 软件基金会维护。它提供了一系列的 API,用于处理 Microsoft Office 文件...
本篇文章将详细介绍如何使用POI库在Java中实现Excel的导入功能。 **一、Apache POI简介** Apache POI是一个开源项目,它提供了Java API来处理Microsoft Office格式的文件。对于Excel,POI支持HSSF(用于旧版的....
Java 实现 Excel 导入导出 Java 是一种流行的编程语言,Excel 是一种常用的电子表格软件。在 Java 中,实现 Excel 导入导出可以使用多种方式,本文将介绍使用 JXL 和 POI 两个库实现 Excel 导入导出的方法。 使用 ...
Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....
本篇文章将深入探讨如何使用Java实现这两个功能,主要涉及的技术栈包括Apache POI库用于操作Excel,以及JDBC(Java Database Connectivity)用于与MySQL数据库进行交互。 首先,我们需要了解Apache POI库。这是一个...
"Java实现Excel导入功能并保存到数据库" 以下是根据给定的文件信息生成的相关知识点: 知识点1:Java Web开发框架SpringMVC 在本实例中,使用了SpringMVC框架来实现Web应用程序。SpringMVC是一种基于Java的Web...
用Java实现的Excel的导入导出,简洁明了,高质量代码。
在Java编程中,将Excel数据导入到MySQL数据库是一项常见的任务,尤其在数据处理和分析的场景下。要完成这个过程,我们需要使用特定的库来读取Excel文件,并使用JDBC(Java Database Connectivity)来与MySQL数据库...
Java 实现 Excel 导入导出是指使用 Java 语言编写程序来实现将 Excel 文件中的数据导入到 Java 程序中,并将 Java 程序中的数据导出到 Excel 文件中。这种操作可以使用 Apache POI 库来实现。 POI 库简介 Apache ...
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出
请到网站http://www.apache.org/dyn/closer.cgi/poi/右击超链接2.5.1.zip下载压缩包poi-bin-2.5.1-final-20040804.zip,解压缩后得到如图2.1所示的目录结构。我们主要用到poi-2.5.1-final-20040804.jar这个库文件。...
### Java实现Excel导入导出详解 #### 知识点概览 本文主要探讨了使用Java进行Excel文件导入与导出的技术细节,通过两种不同的库——`jxl`和`Apache POI`,来实现对Excel文件的操作。我们将深入分析代码示例,了解...
本项目"java实现Excel数据导入到mysql数据库"旨在利用Java技术将Excel表格中的数据高效地导入到MySQL数据库,并且在数据库中存在相同数据时进行更新,同时也支持将数据库中的数据导出到Excel表中。这个过程涉及到多...
本教程将深入探讨如何利用Java POI库来实现Excel的导入与导出功能。 首先,我们需要了解Java POI库的基本结构。POI提供了HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet Format)两个主要的API,分别...
以上就是使用Java实现Excel数据导入数据库的主要步骤和关键知识点。通过熟练掌握这些技术,你将能够构建出高效且可靠的Excel到数据库导入系统。在实际应用中,还可能需要根据具体需求进行调整和定制,如错误处理、...
把Java实现表格的相关操作进行了封装,本次封装是基于 POI 的二次开发,最终使用只需要调用一个工具类中的方法,就能满足业务中绝大部门的导入和导出需求。详细讲解包含源码 把Java实现表格的相关操作进行了封装,...
Java实现Excel导入导出是Java开发中常见的任务,主要用于数据的批量处理和分析,尤其在数据分析、报表生成和数据备份等方面具有广泛应用。要熟练掌握这一技术,开发者需要了解Excel文件的结构,熟悉Java的文件操作,...
在Java编程环境中,实现Excel的导入与导出是一项常见的任务,尤其在数据处理、报表生成以及数据分析等场景中。本文将深入探讨如何使用Java来实现这一功能,主要涉及的库包括Apache POI和JExcelApi。 Apache POI是...