`

java实现excel导入功能

    博客分类:
  • java
阅读更多
方法一
/**
*使用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">
   &nbsp;&nbsp;<input id="excelName" name="excelName" type="file" value="上传文件"></input>&nbsp;&nbsp;
   <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实现Excel导入导出功能

    首先,Java实现Excel导入功能通常涉及解析Excel文件,这主要依赖于Apache POI库。Apache POI是一个开源项目,提供了API来处理Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。使用POI,你可以创建工作簿...

    java_poi实现excel导入导出

    在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java POI Java POI 是一个开源的 Java 库,由 Apache 软件基金会维护。它提供了一系列的 API,用于处理 Microsoft Office 文件...

    java实现Excel导入(POI)

    本篇文章将详细介绍如何使用POI库在Java中实现Excel的导入功能。 **一、Apache POI简介** Apache POI是一个开源项目,它提供了Java API来处理Microsoft Office格式的文件。对于Excel,POI支持HSSF(用于旧版的....

    java实现excel导入导出.pdf

    Java 实现 Excel 导入导出 Java 是一种流行的编程语言,Excel 是一种常用的电子表格软件。在 Java 中,实现 Excel 导入导出可以使用多种方式,本文将介绍使用 JXL 和 POI 两个库实现 Excel 导入导出的方法。 使用 ...

    Java实现Excel导入导出

    Excel源代码,导入导出各种工具类 &lt;groupId&gt;org.apache.poi &lt;artifactId&gt;poi &lt;groupId&gt;org.apache.poi &lt;artifactId&gt;poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....

    java实现Excel数据导入到数据库

    本篇文章将深入探讨如何使用Java实现这两个功能,主要涉及的技术栈包括Apache POI库用于操作Excel,以及JDBC(Java Database Connectivity)用于与MySQL数据库进行交互。 首先,我们需要了解Apache POI库。这是一个...

    非常详细的用 java(springmvc+mybatis)实现excel导入功能并且保存到数据库

    "Java实现Excel导入功能并保存到数据库" 以下是根据给定的文件信息生成的相关知识点: 知识点1:Java Web开发框架SpringMVC 在本实例中,使用了SpringMVC框架来实现Web应用程序。SpringMVC是一种基于Java的Web...

    最新java实现Excel导入导出

    用Java实现的Excel的导入导出,简洁明了,高质量代码。

    java实现excel导入数据库

    在Java编程中,将Excel数据导入到MySQL数据库是一项常见的任务,尤其在数据处理和分析的场景下。要完成这个过程,我们需要使用特定的库来读取Excel文件,并使用JDBC(Java Database Connectivity)来与MySQL数据库...

    java实现Excel导入导出

    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导入导出Java POI EXCEL导入导出

    JAVA实现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导入导出详解 #### 知识点概览 本文主要探讨了使用Java进行Excel文件导入与导出的技术细节,通过两种不同的库——`jxl`和`Apache POI`,来实现对Excel文件的操作。我们将深入分析代码示例,了解...

    java实现Excel数据导入到mysql数据库.zip

    本项目"java实现Excel数据导入到mysql数据库"旨在利用Java技术将Excel表格中的数据高效地导入到MySQL数据库,并且在数据库中存在相同数据时进行更新,同时也支持将数据库中的数据导出到Excel表中。这个过程涉及到多...

    Java poi 实现excel导入导出

    本教程将深入探讨如何利用Java POI库来实现Excel的导入与导出功能。 首先,我们需要了解Java POI库的基本结构。POI提供了HSSF(Horrible Spreadsheet Format)和XSSF(XML Spreadsheet Format)两个主要的API,分别...

    JAVA实现Excel导入数据库

    以上就是使用Java实现Excel数据导入数据库的主要步骤和关键知识点。通过熟练掌握这些技术,你将能够构建出高效且可靠的Excel到数据库导入系统。在实际应用中,还可能需要根据具体需求进行调整和定制,如错误处理、...

    Java实现Excel导入和导出(珍藏版).html

    把Java实现表格的相关操作进行了封装,本次封装是基于 POI 的二次开发,最终使用只需要调用一个工具类中的方法,就能满足业务中绝大部门的导入和导出需求。详细讲解包含源码 把Java实现表格的相关操作进行了封装,...

    Java实现Excel导入导出操作详解.pptx.pptx

    Java实现Excel导入导出是Java开发中常见的任务,主要用于数据的批量处理和分析,尤其在数据分析、报表生成和数据备份等方面具有广泛应用。要熟练掌握这一技术,开发者需要了解Excel文件的结构,熟悉Java的文件操作,...

    java实现Excel导入导出源码

    在Java编程环境中,实现Excel的导入与导出是一项常见的任务,尤其在数据处理、报表生成以及数据分析等场景中。本文将深入探讨如何使用Java来实现这一功能,主要涉及的库包括Apache POI和JExcelApi。 Apache POI是...

Global site tag (gtag.js) - Google Analytics