精华内容
下载资源
问答
  • 资源文件中包含常规的增删改查功能(CRUD)、主要是将数据库表导入到Excel文档里面、适合新手做参考。
  • C# 用NPOI固定模版导出字符串以及图片等数据,导入npoi插件后,亲测可直接运行。
  • 这是一个导出 excel表格的功能 从创建数据库 到导出表格到文件管理
  • 导出数据到Excel表格

    千次阅读 2019-05-17 09:17:50
    接着上次介绍的导入Excel表格,导入需要的是将Excel表格里面的数据导入数据库中并保存,而导出则是获取当前页面所需的数据保存到Excel表格,如何将当前需要的表格数据导出呢?下面来作一个简要的介绍吧。 如上图...

    接着上次介绍的导入Excel表格,导入需要的是将Excel表格里面的数据导入到数据库中并保存,而导出则是获取当前页面所需的数据保存到Excel表格,如何将当前需要的表格数据导出呢?下面来作一个简要的介绍吧。
    在这里插入图片描述

    如上图所示,操作的步骤为选择需要导出的数据,点击导出按钮弹出提示框,点击确认后进行后台下载Excel表格,需要实现这些功能需要进行一系列的编码。

    首先在控制器那边进行数据连表查询,然后用Lambda表达式进行条件筛选,同时如果想要将获取的数据导出到Excel表格,我们需要对Excel表格进行自定义样式设计。下面对基本的样式进行编码设计。
    在这里插入图片描述
    通过创建Excel工作簿、创建工作表、创建表头行、设置表头得到最原始Excel表格的样式,如下图所示
    在这里插入图片描述
    在创建好Excel表格之后,我们需要开始为Excel表格添加数据
    在这里插入图片描述
    然后为Excel文件命名,防止命名发生重复冲突,添加即时日期作为文件后缀
    在这里插入图片描述
    将获取到的表格数据转化为内存流,将Excel文件写入内存流中
    在这里插入图片描述
    输出之前调用Seek(偏移量,游标位置) 移动文件读取指针到指定的位置

    ExcelStream.Seek(0, SeekOrigin.Begin);

    注:Seek(0,Seek.begin) 第一个参数表示相对位置,第二个参数表示参照位置

    MIME文件类型(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型
    在这里插入图片描述
    控制器的代码部分基本完成,然后就是视图那边的一些简单的编码,视图方面需要调用控制器所写的方法,然后获取当前表格数据的筛选条件,再判断数据是否相等。
    在这里插入图片描述
    然后就是弹出提示框,点击确定系统自动进行数据到处及后台运行下载
    在这里插入图片描述

    展开全文
  • C++Builder 导出数据到EXCEL表格 C++Builder 导出数据到EXCEL表格 C++Builder 导出数据到EXCEL表格 C++Builder 导出数据到EXCEL表格
  • 如何导出数据到Excel表格

    千次阅读 2019-05-08 20:14:26
    开发工具与关键技术:Visual Studio、MVC ...把数据导出来的方法有很多,我就说一下如何把数据从MVC中导出到Excel表格的。 首先我们要点击导出的按钮,然后弹出一个提示框,询问你是否导出你所要导出数据,确定...
    开发工具与关键技术:Visual Studio、MVC
    作者:幻奏
    撰写时间:2019.5.5
    

    我们在日常的生活中常常会看到很多的数据,有时,我们不一定只是在项目里面看到数据,可能我们还要在其他的地方使用,这时我们就要把数据拿出来了。把数据导出来的方法有很多,我就说一下如何把数据从MVC中导出到Excel表格的。
    首先我们要点击导出的按钮,然后弹出一个提示框,询问你是否导出你所要导出的数据,确定后就下载我们成功导出数据的Excel表格。
    我们在视图那边写的东西不多,就一点点。因为我们要用到多条件查询,所以我们先处理一下要查询的条件。
    获取多条件查询的值:
    在这里插入图片描述
    然后我们要判断它是否为空或者undefined,是就赋值为0或者空。注意:int类型的赋值为0,string类型的赋值为空。
    在这里插入图片描述
    我们需要在那个询问框那里加一个下载路径。
    在这里插入图片描述
    打开下载路径的代码是(window.open();)里面加路径,这里我们要把查询到的数据拼接到路径中,就是在上面图片里面的问号的后面拼接。
    视图写完后,我们就要写控制器的了。控制器的东西就有一点多了,我们先接收视图传过来的值,然后用多条件查询查出数据,然后再筛选合适的数据。这个我之前已经写了很多次了,所以就不再写出来了啦。
    在创建Excel表格之前我们要引用NPOI,不引用的话是不会创建成功的,它的使用方法嘛,自己到网上找。
    创建Excel表格有5个步骤:
    1、 创建工作簿
    2、 创建工作表
    3、 创建表头行
    4、 设置表头
    5、 为Excel表格添加数据
    前面的三步基本是固定的写法,所以你们自己看图片。
    在这里插入图片描述
    就第二个命名可以不一样,其他的都是这样写的。
    第四步是设置表头,你要根据你的内容设置单元格并且命名,你要创建多少都可以。
    在这里插入图片描述
    第五步是为Excel表格添加数据
    首先我们要创建列,然后往列里面添加数据,由于数据不是一条,所以我们要用循环把数据一条一条地添加到Excel表格里面去。
    注意:对应的表头名称应添加对应的数据,不要添加错了啊。
    在这里插入图片描述
    由于循环是以数据的条数为条件,而我们的表头做了第一条数据,所以我们是在第二行开始循环创建数据的。
    最后我们要做的是把Excel表格转化为内存流。
    1、 我们先声明一个存放内存流的容器,然后把Excel文件写入内存流中。
    在这里插入图片描述
    2、调用Seek(偏移量,游标位置) 移动文件读取指针到指定的位置
    在这里插入图片描述
    到了最后我们要为文件命名,我们导出的过程中如果导出了多次,那么文件名将会重复,所以我们要在它的命名那里加上时间,这样就不会再重复了。
    在这里插入图片描述
    然后就是返回数据到页面,这里是返回了一个文件。
    return File(Excel表格,文件格式,文件名称);
    到这里导出数据到Excel表格就说完了,如果我有什么地方说的不好,请你们帮忙指出来,让我们一同进步。哦对了,由于每个浏览器不一样,所以打开导出的窗口也不太一样,不过没什么影响。

    展开全文
  • 开发中难免会遇到要导出数据到excel的,网上有很多方法,但是看起来都很复杂的样子,写得又非常多代码,让人望而止步.我做一个简单的导出excel表格功能.这是我在工作上用到的. 1.需要用到的jar <dependency>...

    导出excel整理

    开发中难免会遇到要导出数据到excel的,网上有很多方法,但是看起来都很复杂的样子,写得又非常多代码,让人望而止步.我做一个简单的导出excel表格功能.这是我在工作上用到的.

    1.需要用到的jar

    <dependency>
       <groupId>net.sourceforge.jexcelapi</groupId>
       <artifactId>jxl</artifactId>
       <version>2.6.10</version>
    </dependency>

     

     

    我将会从前端请求开始一直到controller的测试方法,最后到工具类.

    首先是前端页面,我用的是layui,项目使用的框架是springboot+springcloud,对这个导出功能没有太大影响,在其他框架也是可以用的,除非你的不是maven,那也无所谓,下载jar就可以了.

    前端页面js如下:

    自己写一个跳转发方法,跳转到controller触发导出方法

     

    Controller中的方法,代码如下:

    这是我做的一个测试代码,数据都是随便填写,如果是从数据库查询到的数据,自己做个改动就可以了,这些都是简单的,我就不做演示.

        @RequestMapping(value = "exportStatisticsReport", method = RequestMethod.GET)
        public void exportStatisticsReport(HttpServletRequest request, HttpServletResponse response){
            Map<String,Object> map = getParameterNames(request);
            //使用LinkedHashMap,因为这个是有序的map
            LinkedHashMap<String,Object> reportData = new LinkedHashMap<>();
            //装载数据,就是要导出到excel的数据
            reportData.put("test1","流水号");
            reportData.put("test2","辖区");
            reportData.put("test3","业务状态");
            reportData.put("test4","企业名称");
            reportData.put("test5","网点");
    
            //把要导出到excel的数据的LinkedHashMap装载到这个List里面,这是导出工具类要求封装格式.
            List<Map<String, Object>> exportData = new ArrayList<>();
            exportData.add(reportData);
    
            //表格列名用ArrayList装载
            List<String> columns = new ArrayList<>();
            //设置excel表格中的列名
            columns.add("流水号");
            columns.add("辖区");
            columns.add("业务状态");
            columns.add("企业名称");
            columns.add("网点");
    
            //点击导出按钮的时候,页面上显示的标题,同时也是sheet的名称
            String filename ="测试导出excel";
            try {
                //处理一下中文乱码问题
                response.setHeader("Content-Disposition", "attachment;filename="+new String(filename.getBytes("gb2312"), "ISO8859-1")+".xls");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            //以上均为数据准备,下面开始调用导出excel工具类
            ExportExcel.exportToExcel(response, exportData, filename, columns);
        }

    最后,我们再来看看导出excel的工具类

     

    至于工具类中是如何实现的,我们不需要去关心,里面的注释我写得非常清楚,有兴趣的可以去看看.我们要关注的是该方法的参数列表.

    这个方法需要用到的参数有以下4个:

    1.HttpServletResponse response:这个不用解释吧

    2.List<Map<String, Object>> objData:这个是装载要导出到excel的数据,在controller方法里面已经写得非常清楚.

    3.String sheetName:这个是excel表格中sheet的名称,同时也可以作为下载的时候显示的文件名.

    4.List<String> columns:这个参数是装载excel表格列名的集合,在controller方法里面也写得非常清楚了.

    我们只要按照方法参数规定的格式提供参数给方法,就可以了.

    导出excel工具类中的第一个方法代码如下:   下面这个代码看看就好,要用的时候直接拿去用

    这个工具类可以在这里下载:

    https://gitee.com/qsa2019/export_excel_tool_class.git

    public class ExportExcel {
        public static int exportToExcel(HttpServletResponse response,
                                        List<Map<String, Object>> objData, String sheetName,
                                        List<String> columns) {
            int flag = 0;
            //声明工作簿jxl.write.WritableWorkbook
            WritableWorkbook wwb;
            try {
                //根据传进来的file对象创建可写入的Excel工作薄
                OutputStream os = response.getOutputStream();
    
                wwb = jxl.Workbook.createWorkbook(os);
    
                /*
                 * 创建一个工作表、sheetName为工作表的名称、"0"为第一个工作表
                 * 打开Excel的时候会看到左下角默认有3个sheet、"sheet1、sheet2、sheet3"这样
                 * 代码中的"0"就是sheet1、其它的一一对应。
                 * createSheet(sheetName, 0)一个是工作表的名称,另一个是工作表在工作薄中的位置
                 */
                WritableSheet ws = wwb.createSheet(sheetName, 0);
    
                SheetSettings ss = ws.getSettings();
                ss.setVerticalFreeze(1);//冻结表头
    
                WritableFont font1 = new WritableFont(WritableFont.createFont("微软雅黑"), 10, WritableFont.BOLD);
                // WritableFont font2 =new WritableFont(WritableFont.createFont("微软雅黑"), 9 ,WritableFont.NO_BOLD);
                WritableCellFormat wcf = new WritableCellFormat(font1);
                // WritableCellFormat wcf2 = new WritableCellFormat(font2);
                // WritableCellFormat wcf3 = new WritableCellFormat(font2);//设置样式,字体
    
                //创建单元格样式
                //WritableCellFormat wcf = new WritableCellFormat();
    
                //背景颜色
                // wcf.setBackground(jxl.format.Colour.YELLOW);
    //            wcf.setAlignment(Alignment.CENTRE);  //平行居中
    //            wcf.setVerticalAlignment(VerticalAlignment.CENTRE);  //垂直居中
                //  wcf3.setAlignment(Alignment.CENTRE);  //平行居中
                //  wcf3.setVerticalAlignment(VerticalAlignment.CENTRE);  //垂直居中
                //  wcf3.setBackground(Colour.LIGHT_ORANGE);
                // wcf2.setAlignment(Alignment.CENTRE);  //平行居中
                // wcf2.setVerticalAlignment(VerticalAlignment.CENTRE);  //垂直居中
    
                /*
                 * 这个是单元格内容居中显示
                 * 还有很多很多样式
                 */
                //   wcf.setAlignment(Alignment.CENTRE);
                //判断一下表头数组是否有数据
                if (columns != null && columns.size() > 0) {
    
                    //循环写入表头
                    for (int i = 0; i < columns.size(); i++) {
                        ws.setColumnView(i, 28);//设置列宽
    //                    ws.setRowView(i+1, 600, false); //设置行高
                        /*
                         * 添加单元格(Cell)内容addCell()
                         * 添加Label对象Label()
                         * 数据的类型有很多种、在这里你需要什么类型就导入什么类型
                         * 如:jxl.write.DateTime 、jxl.write.Number、jxl.write.Label
                         * Label(i, 0, columns[i], wcf)
                         * 其中i为列、0为行、columns[i]为数据、wcf为样式
                         * 合起来就是说将columns[i]添加到第一行(行、列下标都是从0开始)第i列、样式为什么"色"内容居中
                         */
                        ws.addCell(new Label(i, 0, columns.get(i), wcf));
                    }
    
                    //判断表中是否有数据
                    if (objData != null && objData.size() > 0) {
                        //循环写入表中数据
                        for (int i = 0; i < objData.size(); i++) {
    
                            //转换成map集合{activyName:测试功能,count:2}
                            Map<String, Object> map = objData.get(i);
                            //循环输出map中的子集:既列值
                            int j = 0;
                            DecimalFormat decimalFormat = new DecimalFormat("0.00");
                            ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
                            for (Object o : map.keySet()) {
                                //ps:因为要“”通用”“导出功能,所以这里循环的时候不是get("Name"),而是通过map.get(o)
                                String content = "";
                                if (map.get(o).toString().contains(".") && CommonUtils.isNumber(map.get(o).toString())) {
                                    content = decimalFormat.format(Float.valueOf(map.get(o).toString()));
                                    ws.addCell(new Label(j, i + 1, content));
                                } else if (map.get(o).toString().contains("-") && map.get(o).toString().contains(":")) {
                                    content = String.valueOf(map.get(o)).split("\\.")[0];
                                    ws.addCell(new Label(j, i + 1, content));
                                }
                                //图片处理
    //                            else if (map.get(o).toString().contains("http") || map.get(o).toString().contains("https")){
    //                                ws.setColumnView(j, 15);//设置列宽
    //                                String path ="/resources/"+ String.valueOf(map.get(o)).split("upload/")[1];
    //                                File imgFile = new File(path);
    //                                WritableImage image = new WritableImage(j,i+1,1,1,imgFile);
    //                                ws.addImage(image);
    //                            }
                                else {
                                    content = String.valueOf(map.get(o));
                                    ws.addCell(new Label(j, i + 1, content));
                                }
                                j++;
                            }
    
                           /* for(int b=0;b<map.size();b++){
                            	 ws.addCell(new Label(b,i+1,String.valueOf(map.get(String.valueOf(b)))));
                            }*/
                        }
                    } else {
                        flag = -1;
                    }
    
                    //写入Exel工作表
                    wwb.write();
    
                    //关闭Excel工作薄对象
                    wwb.close();
    
                    //关闭流
                    os.flush();
                    os.close();
                }
            } catch (IllegalStateException e) {
                System.err.println(e.getMessage());
            } catch (Exception ex) {
                flag = 0;
                ex.printStackTrace();
            }
    
            return flag;
        }

    最后测试一下:

    点击导出按钮,页面底部就出现这个:说明导出成功!!!

     

    展开全文
  • C#中导出数据到Excel表格

    万次阅读 2019-04-28 08:17:47
    有些数据的使用不可能仅仅限制于本个项目,还需要在外部使用,当需要在外部使用数据时,就要对数据进行提取,其中一个提取的方式就是把数据导出到Excel表格。 JS部分 在JS部分的代码很少,就是一个询问提示框然后在...

    (作者:郭鑫 撰写时间:2019年4月23号)
    有些数据的使用不可能仅仅限制于本个项目,还需要在外部使用,当需要在外部使用数据时,就要对数据进行提取,其中一个提取的方式就是把数据导出到Excel表格。
    JS部分
    在JS部分的代码很少,就是一个询问提示框然后在回调函数里写上一句打开下载的代码(也就是“window.open()”)就可以完成了。
    在这里插入图片描述
    但是因为这里涉及到了多条件查询,所以要在询问之前把多条件查询的条件处理一下,获取到多条件查询的条件,判断是否为空或者undefined,是就为其赋值为0或空(int类型的赋值为0,string类型的赋值为空)。并把这些条件拼接到下载的路径中,如上面的“?AcademeID=" + AcademeID……&StudentDetail=" + StudentDetail”,就是本次多条件查询的条件拼接到路径上的内容。
    获取多条件查询的值:
    在这里插入图片描述
    判断并赋值:
    在这里插入图片描述
    控制器部分
    接收值部分只接收页面传递过控制器部分的多条件查询的值即可。
    开药也要对症下药,导出也是同样的道理,要导出数据首先要知道要导出的数据是什么,所以,导出数据这个功能在控制器部分第一步就是要对数据进行查询。
    查询就是查询数据表格和条件筛选的组合,前面我也写过多条件查询的方法,控制器部分步骤是一样的,只是值的问题,接收值的定义也一样。不过导出时只要把数据筛选出来就可以了,不用进行其他的操作。
    接着就是创建Excel表格了。在创建前要引用一个引用NPOI,不知道的可上网查,或者问我。
    创建Excel表格有5个步骤:
    1、创建Excel工作簿;2、创建工作表;3、创建表头行;4、设置表头;5、为Excel表格添加数据
    前三步没什么好说的,除了命名外其他都是是固定写法。
    在这里插入图片描述
    第四步:设置表头
    根据你的内容确定要创建多少个单元格,并且为各个单元格命名。
    在这里插入图片描述
    第五步:为Excel表格添加数据
    这里又分为两步,先创建列然后再往列里添加数据,因为要导出的数据的条数是变化的,所有要用循环一条一条的往表格里添加,添加数据是对应表头的名称,添加对应的内容。
    在这里插入图片描述
    循环时以数据的条数作为条件,在创建行时要从第二行开始创建,第一行已经用作表头了。
    接着就要对创建好并赋值的Excel表格进行处理,把Excel表格转化为内存流。
    1、 声明一个存放内存流的容器,并把Excel工作簿写入内存流中
    在这里插入图片描述
    2、输出之前调用Seek(偏移量,游标位置) 移动文件读取指针到指定的位置
    在这里插入图片描述
    最后就是返回到页面,以文件的形式返回,在返回之前要先给Excel表格命一个名字。
    在这里插入图片描述
    在页面时,如果执行成功。在各个浏览器的显示不同,在谷歌浏览器的显示如下图所示
    在这里插入图片描述

    展开全文
  • 从数据库导出数据到Excel表格

    千次阅读 2019-05-07 19:11:37
    导出数据到Excel表格就先要把数据查询出来。 由于要方便后面的导出数据到Excel表格我把我自己写的查询截图出来 这里查询出来数据后就是筛选数据这里我就不写筛选数据的代码了,接下来就直接创建工作簿来接收数据...
  • 从浏览器里面的数据导出数据到Excel表格 开发工具与关键技术:Visual Studio 2015 作者:李仁海 撰写时间:2019.5.5 一、 导出数据到Excel表格 1、 public、加上程序集的名称ActionResult、之后路径...
  • 利用Java+JavaScript从页面导出数据到Excel表格 先来几张效果图,再贴代码, 第一步点击导出按钮 第二步点击确认 最后点击左下角表格打开Excel,查看导出数据是否完整 具体实现如下 JavaScript...
  • 将labview端表格数据导入excel表格
  • 下面小编就为大家带来一篇Python实现将数据库一键导出Excel表格的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 本示例是快速将查询的结果导出到excel 中,如果用我的代码只需要修改查询数据的sql、excel文件名、excel的sheet标题、内容的标题即可。 POI简介:Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有...
  • 易语言高级表格数据导出Excel表格源码,高级表格数据导出Excel表格,设置表格内容
  • java导出数据到Excel

    2014-09-24 13:48:36
    java导出数据到Excel.rar,共广大java开发者下载使用。
  • 本篇文章主要介绍了springmvc实现导出数据信息为excle表格,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。
  • 一种通用的导出数据到Excel,此数据来源是GridCtrl表格等,适用于桌面应用开发
  • 前端表格导出Excel

    2018-02-05 17:40:36
    前端表格数据导出excel表格导出数据为表格显示数据,付代码,类
  • JXLS导出数据到Excel表格

    千次阅读 2018-07-16 15:57:53
    * 生成到excel表格中 */ try(InputStream is = EmployeeServlet.class.getResourceAsStream("/report/emp.xlsx")) { try (OutputStream os = new FileOutputStream("target/emp.xlsx")) { Context ...
  • Java导出数据excel表格,超级详细的,内容包含所需要的jar及所有相关文件,结合Mybatis+Spring+Mysql技术等技术内容丰富,步骤也比较详细,可以直接用到日常开发中使用,有不懂的地方可以留言
  • 主要有一下几步: 1.导入需要的jar:freemarker-2.3.19.jar。...2.根据需要作出导出模板 3.在WebRoot下面建template文件夹,把制作的模板扔这个文件夹下面 4.编写核心代码 具体实施细节: 制作模板:
  • VB将Listview数据导出到Excel表格的实例
  • 将web页面的表格数据导出到Excel,这边介绍的方法是需要利用第三方库:jquery.table2excel.js,后面直接贴代码吧! &lt;table id="ExTable"&gt; &lt;thead&gt; &lt;tr&gt; &...
  • java导出页面表格数据到excel

    热门讨论 2011-01-11 11:12:07
    一个完整的导出html页面数据到excel表内,超简单

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,534
精华内容 18,613
关键字:

导出数据到excel表格