精华内容
下载资源
问答
  • 页面中导入excel文件并以表格显示,完整的demo,各个主流浏览器测试通过!
  • springboot实现Excel文件导入与导出功能, 本次任务主要实现两个功能,一是如何将Excel文件导入后台服务器,解析文件中的内容,并且存入数据库中。二是如何将后台数据库中的数据导出为Excel表格。经过调研,实现此...
  • 该工具是一款Excel文件导入sqlserver工具,它可以将EXCEL数据直接导入到SQL数据库(sql2000、sql2005等)。内含破解文件,可永久使用。 Excel导入SQL数据库!不再难了!!
  • springboot开的excel导入数据,并把数据插入到数据库操作
  • http://blog.csdn.net/meng564764406/article/details/52444644 http://blog.csdn.net/meng564764406/article/details/52426634 源码
  • WPFExcel文件导入导出操作,非常详细的pdf文件
  • springboot中Excel文件导入导出

    千次阅读 2019-11-06 19:30:53
    Java学习大纲(持续更新):https://blog.csdn.net/weixin_39778570/article/details/94667501 更多IT学习资源:...Excel文件导入 从前端传递excel文件到后端,通过ajax 这里使用的是lay-ui的控件 ...

    Java学习大纲(持续更新):https://blog.csdn.net/weixin_39778570/article/details/94667501
    更多IT学习资源:https://blog.csdn.net/weixin_39778570/article/details/100052454

    Excel文件导入

    从前端传递excel文件到后端,通过ajax
    这里使用的是lay-ui的控件

    upload.render({
                elem: '#test' //绑定元素
                ,accept: 'file'
                ,url: '/xxx/xxx/upload' //上传接口
                ,before: function(obj) {
                    layer.msg('文件上传中...', {
                        icon: 16,
                        shade: 0.01,
                        time: 0
                    })
                },
                done: function(res) {
                    layer.close(layer.msg(res.msg));//关闭上传提示窗口
                }
            });
    

    后端Controller获取数据并处理

    @RequestMapping("upload")
    	@ResponseBody
    	public BaseResponse doUpload(HttpServletRequest request) throws IOException {
    		MultipartHttpServletRequest mreq = null;
    		if(request instanceof  MultipartHttpServletRequest){
    			mreq = (MultipartHttpServletRequest) request;
    		}else {
    			return BaseResponse.fail ();
    		}
    		try{
    			boolean flag = xxx.analysisFile(mreq);
    			if(!flag){
    				return BaseResponse.fail ();
    			}
    			return BaseResponse.success();
    		}catch (Exception e){
    			return BaseResponse.fail ();
    		}
    	}
    

    Server层xxx.analysisFile(mreq)

    public boolean analysisFile(MultipartHttpServletRequest mreq){
    		List<Map> maps = null;
    		try {
    			maps = ExcelUtils.analysisFile (mreq);
    		} catch (Exception e) {
    			return false;
    		}
    		if(maps==null){
    			return false;
    		}else{
    			// 处理信息
    			return true;
    		}
    	}
    

    解析Excel文件请求的工具类(可以直接复用)

    import org.apache.poi.ss.usermodel.*;
    import org.springframework.web.multipart.MultipartHttpServletRequest;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.text.DecimalFormat;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.List;
    
    /**
     * Excel处理工具
     */
    public class ExcelUtils {
    
        /**
         * 处理HTTP请求里是file文件
         * @param mreq
         * @return 返回List<Map>每个Map存放一行
         */
        public static List<Map> analysisFile(MultipartHttpServletRequest mreq)throws Exception{
            InputStream inputStream= null;
            try {
                inputStream = mreq.getFile ("file").getInputStream ();
            } catch (IOException e) {
                throw e;
            }
            String fileName = mreq.getFile ("file").getOriginalFilename ();
            Workbook workbook = null;
            try {
                //判断什么类型文件
                if (fileName.endsWith(".xls") || fileName.endsWith(".xlsx")) {
                    workbook = WorkbookFactory.create(inputStream);
                }
            } catch (Exception e) {
                throw e;
            }
            if (workbook == null) {
                return null;
            } else {
                //获取所有的工作表的的数量
                int numOfSheet = workbook.getNumberOfSheets ();
                System.out.println (numOfSheet + "--->numOfSheet");
                List<Map> mapList = new ArrayList<> ();
                //遍历表
                for (int i = 0; i < numOfSheet; i++) {
                    //获取一个sheet也就是一个工作本。
                    Sheet sheet = workbook.getSheetAt (i);
                    if (sheet == null) {
                        continue;
                    }
                    //获取一个sheet有多少Row
                    int lastRowNum = sheet.getLastRowNum ();
                    if (lastRowNum == 0) {
                        continue;
                    }
                    Row row;
                    // 行头
                    List<String> headName = new ArrayList<>();
                    if(lastRowNum>0){
                        row = sheet.getRow (0);
                        // 获取一个Row有多少Cell
                        short lastCellNum = row.getLastCellNum ();
                        for (int k = 0; k <= lastCellNum; k++) {
                            if (row.getCell (k) == null) {
                                continue;
                            }
                            String res = getCellVal(row.getCell (k));
                            headName.add (res);
                        }
                    }
    
                    // 每一行的内容
                    for (int j = 1; j <= lastRowNum; j++) {
                        row = sheet.getRow (j);
                        if (row == null) {
                            continue;
                        }
                        //获取一个Row有多少Cell
                        short lastCellNum = row.getLastCellNum ();
                        Map<String,String> rowMap = new HashMap ();
                        for (int k = 0; k <= lastCellNum; k++) {
                            if (row.getCell (k) == null) {
                                continue;
                            }
                            String res = getCellVal(row.getCell (k));
                            rowMap.put (headName.get (k), res);
                        }
                        mapList.add (rowMap);
                    }
                }
                return mapList;
            }
        }
    
        private static String getCellVal(Cell cell) {
            SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); //日期格式yyyy-mm-dd
            DecimalFormat df = new DecimalFormat("0");
            String val;
            switch (cell.getCellType()) {
                case Cell.CELL_TYPE_NUMERIC:
                    if (DateUtil.isCellDateFormatted(cell)) {
                        val = fmt.format(cell.getDateCellValue()); //日期型
                    } else {
                        val = df.format(cell.getNumericCellValue()); //数字型
                    }
                    break;
                case Cell.CELL_TYPE_STRING: //文本类型
                    val = cell.getStringCellValue();
                    break;
                case Cell.CELL_TYPE_BOOLEAN: //布尔型
                    val = String.valueOf(cell.getBooleanCellValue());
                    break;
                case Cell.CELL_TYPE_BLANK: //空白
                    val = cell.getStringCellValue();
                    break;
                case Cell.CELL_TYPE_ERROR: //错误
                    val = "错误";
                    break;
                case Cell.CELL_TYPE_FORMULA: //公式
                    try {
                        val = String.valueOf(cell.getStringCellValue());
                    } catch (IllegalStateException e) {
                        val = String.valueOf(cell.getNumericCellValue());
                    }
                    break;
                default:
                    val = cell.getRichStringCellValue() == null ? null : cell.getRichStringCellValue().toString();
            }
            return val;
        }
    }
    

    Excel 文件导出

    由于ajax 是无法直接导出excel的,因为ajax返回值只能是字符流,而导出excel是后台往浏览器中写入二进制的字节流
    流程是这样的,前端发送一个ajax请求到后端,后端缓存请求数据,并保存请求,返回给浏览器一个UUID,浏览器通过UUID再发起请求(可以通过window.location.href的方式),服务器把excel文件写入response中显示到浏览器

    前端请求

    form.on('submit(export)', function(data){
                var field = data.field;
                $.ajax({
                    url:'<@spring.url "/xxx/ttt/export"/>',
                    dataType : "json",
                    data : JSON.stringify(field),
                    contentType : "application/json; charset=utf-8",
                    type : "POST",
                    async: true,
                    success : function(data){
                        var key =data.msg
                        window.location.href = "/xxx/ttt/doExport?key="+key
                    }
                })
            });
    

    后端处理请求,先缓存,再查询(为了简单起见这里就不查询了),再清楚缓存

    /**
         * 由于ajax无法直接导出excel,所以第一次把请求生成的ExcelParam缓存起来,然后前端再次window.open(url);
         */
        public static Map<String, Xxx> excelParamCache = new ConcurrentHashMap<> ();
    
        //第一步缓存参数
        @SuppressWarnings("unchecked")
        @RequestMapping(value = "/export")
        @ResponseBody
        public BaseResponse export(@RequestBody Xxx requestVo) {
            String key = UUID.randomUUID().toString();
            excelParamCache.put(key,requestVo);
            return new BaseResponse(0,key);
        }
    
        @RequestMapping(value = "doExport")
        public BaseResponse doExport(String key, HttpServletRequest request, HttpServletResponse response) throws IOException {
            if(key==null){
                return BaseResponse.fail ();
            }
            try {
                if(!excelParamCache.containsKey (key)){
                    return BaseResponse.fail ();
                }
                HSSFWorkbook workbook = new HSSFWorkbook ();
                HSSFSheet sheet = workbook.createSheet ("信息表");
    
                // 设置要导出的文件的名字
                String fileName = "报表-" + new Date () + ".xls";
    
                // 新增数据行,并且设置单元格数据
                int rowNum = 1;
    
                // headers表示excel表中第一行的表头 在excel表中添加表头
                String[] headers = {"id", "uid", "地址", "城市"};
                HSSFRow row = sheet.createRow (0);
                for (int i = 0; i < headers.length; i++) {
                    HSSFCell cell = row.createCell (i);
                    HSSFRichTextString text = new HSSFRichTextString (headers[i]);
                    cell.setCellValue (text);
                }
    
                //在表中存放查询到的数据放入对应的列
                for (int i = 0; i < 4; i++) {
                    HSSFRow row1 = sheet.createRow (rowNum);
                    row1.createCell (0).setCellValue (1);
                    row1.createCell (1).setCellValue (2);
                    row1.createCell (2).setCellValue (3);
                    row1.createCell (3).setCellValue ("hhh");
                    rowNum++;
    
                }
    
                response.setContentType ("application/octet-stream");
                response.setHeader ("Content-disposition", "attachment;filename=" + fileName);
                response.flushBuffer ();
                workbook.write (response.getOutputStream ());
            }catch (Exception e){
                excelParamCache.remove(key);
            }finally {
                excelParamCache.remove(key);
            }
            return BaseResponse.success ();
        }
    

    依赖

    <!-- 文件上传 -->
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi</artifactId>
          <version>3.14</version>
        </dependency>
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml</artifactId>
          <version>3.14</version>
        </dependency>
        <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml-schemas</artifactId>
          <version>3.14</version>
        </dependency>
    

    执行结果
    在这里插入图片描述

    展开全文
  • Python中导入EXCEL文件

    千次阅读 2020-03-03 23:04:02
    >>> import pandas as pd >>>df = pd.read_excel(r"E:\test.xlsx") >>>df excel文件: prompt:

    >>> import pandas as pd

    >>>df = pd.read_excel(r"E:\test.xlsx")

    >>>df

    excel文件:

     

    prompt:

    展开全文
  • MYSQL中导入Excel文件

    万次阅读 2019-04-01 14:50:30
    本文阐述了一般情况下怎么mysql中导入excel文件,作者借助工具sqlyog,也可以直接mysql操作。 主要步骤: 第一步:首先将excel文件打开另存为csv文件 再将其用Notepad打开,将编码改成utf-8保存 第二...

    本文阐述了一般情况下怎么在mysql中导入excel文件,作者借助工具sqlyog,也可以直接在mysql中操作。

    主要步骤:

    第一步:首先将excel文件打开另存为csv文件

    再将其用Notepad打开,将编码改成utf-8保存

    第二步:先建立数据库列名一致的表格,可参考博客本文用sqlyog创建,也可直接在mysql里面创建

    再写导入sql

    LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/data.csv' 
    INTO TABLE python_learning.data_excerise
    CHARACTER SET utf8
    FIELDS TERMINATED BY ',' 
    LINES TERMINATED BY '\r\n'
    IGNORE 1 LINES;

    最终结果: 

     

    注意事项:

    可能会遇到的问题

    1:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement。

    解决办法:查看安全路径的位置,将文件复制到完全路径下再导入数据。

    将文件导入安全路径下之后, sql中文件的地址也要相应改动

    2:“ERROR 1261 (01000)” 

    解决办法:执行语句 SHOW VARIABLES LIKE 'sql_mode'; SET sql_mode='';

    详细可参考链接中第四段

    3:导入的数据全都在第一列

    解决办法:看是否列名中有中文fu'h符号。

    以上问题均为博主自己导入数据时遇到的问题,可能不全,仅供大家参考。

    本博文参考了以下文章:

    mysql导入csv格式文件(使用sql语句进行导入)

    向MySQL数据库表内导入txt和csv文件数据

     

    展开全文
  • 很强大EXCEL文件导入导出控件,自动安装,破解版。
  • 具体详细实施内容请见博客
  • excel文件导入到MySQL workbench

    千次阅读 2019-09-27 13:06:55
    1.将excel文件另存为到桌面,保存类型选择CSV(逗号分隔)保存完桌面上文件显示为这样的,然后右键打开方式,选择记事本打开。 2.看到记事本显示的每个数据都有用逗号隔开,然后再另存为, 下面的编码选择UTF-8,...

    首先我使用的是workbench 8.0版本。
    简单的数据
    1.将excel文件另存为到桌面,保存类型选择CSV(逗号分隔)保存完桌面上文件显示为这样的,然后右键打开方式,选择记事本打开。
    在这里插入图片描述
    2.看到记事本显示的每个数据都有用逗号隔开,然后再另存为,在 下面的编码选择UTF-8,保存。
    在这里插入图片描述
    3.打开MySQL workbench8.0 右键点击数据库中的Tables,点击 Table Data Import Wizard.
    在这里插入图片描述
    4.选择桌面上文件的路径
    在这里插入图片描述
    5.这里可以将数据导入到已有的数据表中,也可以直接新建表。
    在这里插入图片描述
    6.按截图一样,然后一直下一步,最后完成导入。
    在这里插入图片描述
    在这里插入图片描述
    最后刷新下数据库表单,Tables中就可以看到导入的数据库表了。
    在这里插入图片描述

    展开全文
  • 本软件解决access不能批量导出表的问题,实现批量导出数据库表。 可以选择多个想要导出的表,使用方便。 原来“Access批量导入Excel”的升级版本,新增了Access2007和excel2007的支持。
  • java Swing 导入导出Excel文件

    热门讨论 2013-10-28 14:12:37
    自定义的一个excel文件导入导出类,支持Excel2003到2010的格式。里面也有简单的配置文件的创建。
  • 用于java导入导出excel文件,集成工具类,示例
  • Java实现Excel文件导入导出

    千次阅读 2020-07-08 14:10:21
    一:Jakarta POI方法导入导出Excel文件 1:导包: 2:Jakarta POI HSSF API组件详解 3:简单地动态导出Excel 4:完整实例 4.1:输出到本地 4.2:B/S输出到客户端 5:样式设置 5.1:单元格合并 5.2:设置...
  • Excel文件导入到数据库

    千次阅读 2019-06-24 10:02:03
    要实现这个功能的第一步就是将Excel导入到数据库之。 下面总结一下将Excel导入到数据库的具体步骤。(java程序) 1:明确所需要的类 这里我使用了三个类: Ⅰ:DBUtil类。这个类是个工具类,主要负责,连接数据库...
  • jfinal下的多文件上传以及对excel导入导出demo,使用了ajaxFileupload
  • 压缩文件中包括一个包含宏代码的Excel文件Sheet Macros.xls以及其他四个测试文件工作表 1~4。 宏的功能为(1)选中Excel表格中的某些行或列,运行某个Macro,自动根据选中的cells创建新的worksheets,worksheets的...
  • java 导入Excel 文件,兼容Excel 2003(后缀名:xls)及 2007(后缀名:xlsx)的文件,同时还支持csv格式的文件
  • POI导入Excel并返回校验后的错误文件(原样数据文件,并添加批注,注:由于批注只能加1000条,会在Excel后面添加一栏错误信息)下载以及页面展示校验错误信息,同时添加导入进度条,提供页面js和css代码,后端...
  • SSM框架,利用poi导入excel文件到数据库,导出excel,SSM框架搭建
  • vue中Excel文件导入导出实现

    千次阅读 2020-07-03 10:13:57
    首先了解Excel导入导出实现效果,就是想要通过导入导出将所需要的数据进行合理的存放,那么下面了解一下导入导出实现的过程~~ Excel导入 导入就是通过input有个file的属性来实现,并且导入想要实现的效果就是...
  • 可以使用该EXCEL文件,开启宏以后自动导入目录的txt文件,并生与目录名称相同的excel文件
  • jqGrid控件导入导出Excel文件

    热门讨论 2013-11-15 10:17:25
    jqGrid控件导入导出Excel文件,将几个jqgrid导出一份Excel多sheet文件 ,亦可多sheet的excel导入至多个jqGrid表格。
  • GitHub地址:https://github.com/Maatwebsite/Laravel-Excel 一、安装 根目录下安装依赖 composer require maatwebsite/excel ~2.0.0 ...发现composer.json文件里的"require"多了...
  • 3.从电脑上选择要导入文件 以及sheet页 (过程可能有点卡不要在意) 4.附加选项 一般默认即可 栏位名行:数据表字段所在的行位置; ●第一个数据行:所导入源数据从第几行开始; ●最后一个数据行:所导入...
  • Excel VBA 导入txt文件内容

    千次阅读 2020-04-14 15:56:16
    '根据sheet1第一列的文件名导入txt文件的内容到之后的sheet,每个文件一个sheet Dim file_name As String, my_path As String Dim lines, cols Dim i As Integer, j As Integer, k As Integer, q As Integer...
  • Excel文件导入导出操作

    千次阅读 多人点赞 2020-10-11 21:44:14
    此篇内容主要分享一下工作常用的Excel文件的解析和导出工作类实现。 实践 1.maven依赖 首先引入POI包依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</...
  • Delphi Excel数据导入到数据库 需要 uses ComObj; 具体使用方法文档有说明

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,616
精华内容 40,646
关键字:

怎么在excel中导入文件