记录-java(jxl) Excel导入数据库

本内容主要包括(文件上传、excel2003数据导入数据库)excel导入数据库功能需要jxl  jar包支持

下面是文件上传的前端测试代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form action="getAllByExcel" method="post" enctype="multipart/form-data">
        <input type="file" name="file" >
        <input type="submit" value="上传">
    </form>
</body>
</html>

下面控制类用于excel文件上传到服务器

@SuppressWarnings("unchecked")
    @RequestMapping(value="getAllByExcel" ,method = RequestMethod.POST)
    public Object getAllByExcel(HttpServletRequest request,HttpServletResponse response, ModelMap model){
        MultipartHttpServletRequest mulltipartRequest=(MultipartHttpServletRequest)request;

        MultipartFile files=mulltipartRequest.getFile("file");
        //得到上传服务器路径
        String path=request.getSession().getServletContext().getRealPath("/WEB-INF/res/upload");
        String fileName=files.getOriginalFilename();

        try {

          InputStream inputStream=files.getInputStream();

            byte[] b = new byte[1048576];
            int length = inputStream.read(b);
            path += "\\" + fileName;
            // 文件流写到服务器端
            FileOutputStream outputStream = new FileOutputStream(path);
            outputStream.write(b, 0, length);
            inputStream.close();
            outputStream.close();
          //解析excel
            List<Map<String, Object>> lists=CommonUtil.getAllExcel(path);

此功能需要导入jxl相关jar包,此方法提供excel路径返回List<Map<String, Object>>

//获取excel数据
    public static List<Map<String, Object>> getAllExcel(String url){
        List<Map<String, Object>> models=new ArrayList<Map<String, Object>>();
        try {

            File filse=new File(url);
            Workbook rwb=Workbook.getWorkbook(filse);
            Sheet sheet=rwb.getSheet(0);
            int clos=sheet.getColumns(); //获取列数
            int rows=sheet.getRows();//获取行数

            String[] heads =new String[clos];//保存所有的key值

            for (int i = 0; i < rows; i++) {
                Map<String, Object> mp =new HashMap<String,Object>();
                for(int j=0;j<clos;j++){
                    if(i == 0 ){
                        heads[j] =     sheet.getCell(j, i).getContents();//获取所有key值
                    }
                    else{
                        mp.put(heads[j], sheet.getCell(j, i).getContents());//获取每行value值
                    }
                }
                //如果map不为空则添加到list集合
                if (!mp.isEmpty()) {
                    models.add(mp);
                }

            }
        } catch (Exception e) {
            // TODO: handle exception
        }
        return models;
    }
时间: 2024-08-24 16:53:24

记录-java(jxl) Excel导入数据库的相关文章

java jxl excel 导入导出的 总结(建立超链接,以及目录sheet的索引)

最近项目要一个批量导出功能,而且要生成一个单独的sheet页,最后后面所有sheet的索引,并且可以点击进入连接.网上搜索了一下,找到一个方法,同时把相关的excel导入导出操作记录一下!以便以后使用! 简单先写一下目录的建立的主要代码,测试用的 List ls = new ArrayList();//报表名称列表  ls.add("BB_BB03");  ls.add("BB_BB05");  ls.add("BB_BB06"); try { 

Java实现Excel导入数据库,数据库中的数据导入到Excel

实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java.sql.Co

Java实现Excel导入数据库,数据库中的数据导入到Excel。。转载

自学资料总结 实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java

Java中Excel导入功能实现、excel导入公共方法_POI -

这是一个思路希望能帮助到大家:如果大家有更好的解决方法希望分享出来 公司导入是这样做的 每个到导入的地方 @Override public List<DataImportMessage> materialDataImport2(byte[] fileBytes, String fileName) { //return DataImport(fileBytes, fileName, "inv_m"); File file = FileUtils.getFileFromByte

.NET网站本机调试通过、发布后EXCEL导入数据库报错问题的解决

近期做了一个EXCEL导入数据库的页面,在VS2012本机调试中导入XLS\XLSX均顺利通过,但在WEB环境下导入时均出错! 在网上查了相关资料,最有可能的原因是 DCOM 中EXCEL应用程序权限配置的问题. (DCOM基于组件对象模型(COM),COM提供了一套允许同一台计算机上的客户端和服务器之间进行通信的接口) 配置步骤(本机win8.1 64Bit Office2010 64Bit): 1. 运行-dcomcnfg-组件服务-计算机-我的电脑-DCOM配置-找到 Micosoft E

ASP.NET实现excel导入数据库

ASP.NET实现excel导入数据库原创Mr_周先生 最后发布于2018-03-27 18:56:02 展开1:说明:此方法建立在已经实现数据库的插入功能上 2:注解:2.1:新建一个文件夹存放excel文件(见example.aspx.cs的GetExcel()方法) 2.2:控件 2.3:excel表格式(excel表头与数据库表字段对应) 2.4:修改数据库插入方法(见example.aspx.cs的InsetData()方法) 3:步骤:1:前台控件: 1.1:FileUpload:

POI实现Excel导入数据库数据

POI实现Excel导入数据库数据 首先看一下我们导入的数据Excel中的数据格式是什么 ?上面是我们的一个数据导入时的模板信息,我们需要按照这样过的格式导入数据库数据. 针对这样的数据格式可以通过ReadExcelUtils的工具类去读取到 ReadExcelUtils readExcelUtils = new ReadExcelUtils(file.getInputStream(),fileName); 通过上述代码我们可以获取到ReadExcelUtils对象,再调用其readExcelL

java poi excel 导入导出数据

背景:1.pringmvc 框架下 的excel 导入导出   2.OI 操作office. 页面代码: <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> <div class=&quo

asp.net 中excel 导入数据库

protected void Button1_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["LYConnectionString"].ConnectionString); ;//链接数据库 conn.Open(); try { string fileurl = t