将上传的excel文件导入到数据库主要分为以下步骤:
首先,将上传的文件保存到服务器一目录,最好是临时目录。
其次,根据这个目录获取相应的输出流,然后根据输出流和jxl第三方组件获得工作簿的相关信息。
再次,读取生成的工作簿信息,连接数据库,插入数据。
String filePath = "D:/b/a.xls";
//必须保证b目录层次存在,当a文件不存在时才会新建立文件。
FileOutputStream os = new FileOutputStream(filePath);
PRDMAN01000005FORM form = (PRDMAN01000005FORM)actionForm;
FormFile excelfile = form.getExcel();
String name = excelfile.getFileName();
os.write(excelfile.getFileData());
os.flush();
os.close();
FileInputStream is =new FileInputStream(filePath);
//BufferedReader br = new BufferedReader(is);
jxl.Workbook rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0);
//获取第一行,第一列的值
Cell c00 = rs.getCell(0, 0);
String strc00 = c00.getContents();
对于流的引用要注意,要保证目录层次在物理硬盘上存在,文件不存在的话,对于输出流,可以自动生成相应的文件。对于前台的文件上传,也要注意:一是保证提交的method是post,二是要保证enctype属性的值是multipart/form-data.相应的文件数据收集需要根据具体环境具体设置。
以下是示范性的代码,只做参考。。。。。。。。。。。
JAVA文件:ReadExcelTest.java --------------------------------------------------------------
package com.mypack;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; import java.sql.*; import java.io.*; import java.util.ArrayList; import java.sql.Connection;
public class ReadExcelTest { private Connection con; String DBDriver="oracle.jdbc.driver.OracleDriver"; String url="jdbc:oracle:thin:@192.168.0.1:1521:dbname"; String USER="username"; String PWD="password"; private ArrayList listFirstColum = new ArrayList(); private ArrayList listSecondColum = new ArrayList(); //连接数据库 public ReadExcelTest() throws Exception { try { Class.forName(DBDriver); con=DriverManager.getConnection(url,USER,PWD); } catch(Exception e) { e.printStackTrace(); throw(new Exception("Sorry,database connecting failed!")); } } //从excel中读取数据存入ArrayList中 public void readExcel(String sFileName) { try { HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(sFileName));//读取excel文件 HSSFSheet sheet = workbook.getSheetAt(0);//读取第一个sheet for(int i=0;i<=sheet.getLastRowNum();i++)//循环取得所有行 { if(sheet.getRow(i)!=null) { HSSFRow aRow = sheet.getRow(i);//行数 HSSFCell cellFirstColum = aRow.getCell((short)0);//第一列 HSSFCell cellSecondColum = aRow.getCell((short)1);//第二列 //把数据存入list里备用 listFirstColum.add((int)cellFirstColum.getNumericCellValue());//假定第一列为数字型 listSecondColum.add(cellSecondColum.getStringCellValue());//假定第二列为字符串型 } } System.out.println("Excel读取成功!"); }catch(Exception e) { e.printStackTrace(); } } //从ArrayList中把数据写入数据库 public void insertData(String sFileName) { //读取 readExcel(sFileName); String sqlInsert = "insert into tbl_name" +"(first_colum,second_colum)values(?,?)"; //插入 try { for (int i=0;i{ PreparedStatement pstmt=con.prepareStatement(sqlInsert); pstmt.setInt(1, listFirstColum.get(i)); pstmt.setString(2, listSecondColum.get(i).toString()); pstmt.execute(); System.out.println("正在导入第 "+(i+1)+" 条记录"); } System.out.println("导入完毕!"); }catch(Exception e) { e.printStackTrace(); } } }
JSP:test.jsp -----------------------------------------
<%@ page pageEncoding="GB2312"%> <%@ page import="com.mypack.ReadExcelTest" %> <% ReadExcelTest read = new ReadExcelTest(); read.insertData("D://test.xls"); %>
相关推荐
在ASP(Active Server Pages)开发中,上传Excel文件并读取其内容然后存入数据库是一项常见的任务,尤其在处理大量结构化数据时。这个过程通常包括以下步骤: 1. **文件上传**:ASP中可以使用`<input type="file">`...
在本案例中,我们关注的是一个自定义的上传Excel文件的弹框组件。这个组件允许用户选择并上传Excel文件,以便进行数据导入或其他需要处理Excel数据的操作。 在 Vue.js 中,组件是构建应用程序的基本单元,它们可以...
总结起来,Java实现“上传Excel并解析入库”涉及的关键技术包括文件上传(如Spring MVC的MultipartFile)、Excel解析(如Apache POI)以及数据库操作(JDBC或ORM)。通过熟练掌握这些技术,你可以构建出高效、稳定的...
### 向HDFS上传Excel文件 #### 背景 在大数据处理场景中,经常需要将Excel文件上传到Hadoop分布式文件系统(HDFS)中进行进一步的数据处理或分析。然而,由于HDFS本身并不直接支持Excel文件格式,通常的做法是先将...
JSP上传excel及excel插入至数据库的方法 本文主要介绍了JSP上传excel及excel插入至数据库的方法,涉及JSP文件上传及针对excel的读取、写入数据库等操作技巧。下面是详细的知识点解析: JSP文件上传 在HTML页面中...
标题提到的“ASP程序可以实现上传EXCEL”,意味着我们要讨论的是如何利用ASP来处理用户通过Web界面上传Excel文件的功能。在ASP中,这通常涉及到文件上传控件、服务器端代码以及对上传文件的处理。 首先,让我们了解...
用户上传Excel文件后,需要确保文件是安全的(例如,检查文件类型和大小),然后将其保存到服务器的一个特定目录。 3. **读取Excel文件**:使用PHPExcel或PHPSpreadsheet库读取上传的Excel文件。创建一个类实例,...
本文将深入探讨如何在C#中解决上传Excel文本数字混合不能识别的情况。 ### 解决方案概述 当C#应用程序尝试读取或导入Excel文件中的数据时,若数据单元格内包含文本和数字混合格式(例如,"123abc"),标准的数据...
asp.net mvc 上传excel文件并读取excle内容转成DataTable(Spire.Office.3.6.0) 一个需求:将一个Excel文件中的数据导入到数据库中去。 思路:上传一个excel文件,读取该excel文件中数据,转成DataTable(或List),...
上传excel到SAP内表 在SAP系统中,上传Excel文件内容到内表是一个常见的需求。这种需求可以通过多种方式实现,而本文将介绍其中的一种简单直接的方法。本方法使用ABAP语言编写,通过调用TEXT_CONVERT_XLS_TO_SAP...
本示例提供了一个批量上传Excel文件并将其数据动态显示在Gridview中的解决方案。以下是对这个过程的详细说明: 首先,我们需要一个ASP.NET页面,其中包含一个FileUpload控件用于选择Excel文件,一个Button控件触发...
标题中的“利用apache的poi上传excel”指的是使用Apache POI库来处理Microsoft Excel文件的Java编程实践。Apache POI是一个开源项目,它提供了API来读取、写入和修改MS Office格式的文件,包括Excel(XLS和XLSX)。 ...
本项目“extjs3.2+struts2实现多文件上传excel并插入到数据库”是针对这一需求的具体解决方案,利用了ExtJS 3.2前端框架和Struts2后端框架进行开发。 **ExtJS 3.2** 是一个基于JavaScript的富客户端应用框架,提供...
基于streamlit库写的excel可视化样例, 可以上传excel文件, 然后对excel的各个标签数据读取, 可以基于样例,很轻松的拓展出excel的可视化图表
这个例子展示了如何在ASP(Active Server Pages)环境中实现一个功能,让用户能够上传Excel文件,并将其中的数据导入到SQL Server数据库中。ASP是一种经典的服务器端脚本语言,用于创建动态网页。 首先,我们来看`...
在这个“java文件上传和上传excel后并解析出来的小工具”中,我们可以探讨以下几个核心知识点: 1. **MultipartFile接口**:在Spring框架中,`MultipartFile`接口用于处理HTTP请求中的多部分文件数据。它提供了读取...
php上传excel php上传xls代码
本教程将详细介绍如何使用PHP来上传Excel文件,并将其中的数据批量读取并添加到SQL Server数据库中。 1. **文件上传** - PHP中的`$_FILES`全局变量用于接收上传的文件信息,包括文件名、类型、大小等。 - 使用`...
下面将详细介绍如何实现“ajax上传excel”以及PHP端接收的流程。 1. **前端准备**: - **HTML**:首先,我们需要一个HTML表单让用户选择要上传的Excel文件。通常,我们会用`<input type="file">`元素来实现这个...
在本文中,我们将深入探讨如何在ASP.NET MVC框架下,利用EasyUI的FileBox组件实现Excel文件的上传功能。EasyUI是一个基于jQuery的用户界面库,提供了丰富的组件,如FileBox,用于处理文件选择和上传操作。而MVC...