精华内容
下载资源
问答
  • 导入导出
    千次阅读
    2022-04-07 10:28:47

    1.场景

    想把远程服务器A中mongodb的某个数据库(或者多个)导入到远程服务器B的mongodb中

    2.方法1

    亲测一次性导入导出450G+文件无问题

    windows的系统(安装有mongodb的服务)进入mongodb安装目录的bin目录下,dos窗口执行命令(windows)

    #从服务器88.88.88.88导出数据(数据库是名称叫db_name_server )到本地的D盘下的文件夹A_backup_mongo   
    
    mongodump -h 88.88.88.88 --forceTableScan -d db_name_server -o D:/A_backup_mongo
    
    #导入数据,从本地D盘下的文件夹A_backup_mongo拿数据,导入到服务器77.77.77.77 
    
    mongorestore -h 77.77.77.77  D:/A_backup_mongo
    
    #tip理论上,A_backup_mongo这个文件夹每次操作数据(导入导出)应为初始化状态,既空文件夹

    3.方法2

    拷贝data目录中对应的数据库文件到目标服务器的数据存储位置(测试mongo版本3.0,如果mongo为3.2及以上版本数据结构变成了块结构,需要筛选下数据)

    缺点:

    1. 肉眼识别操作数据库,容易弄错。
    2. 操作完毕需要重启mongodb服务才可识别迁移过来的数据库,有违高可用场景。
    3. 需要登录mongodb所在服务器进行操作的相关权限,实际场景55开,可能没有操作权限的概率更大。

    优点:

    1. 该方法的优势在于速度快,无需方法1中的过多的等待时间。
    更多相关内容
  • Java+EasyExcel实现文件导入导出 引言 项目中需要Excel文件的导入与导出Excel并下载,例如,导入员工信息,导出员工信息,手动输入比较繁琐,所以本篇博文教大家如何在Java中导入Excel文件与导出Excel文件 技术栈 ...

    Java+EasyExcel实现文件导入导出

    引言

    项目中需要Excel文件的导入与导出Excel并下载,例如,导入员工信息,导出员工信息,手动输入比较繁琐,所以本篇博文教大家如何在Java中导入Excel文件与导出Excel文件

    技术栈

    Excel工具:EasyExcel

    选用框架:Spring、Spring MVC、MyBatis(SSM)

    项目构建管理工具:Maven

    需求:

    1. 要求利用excel工具实现员工信息的导入与导出
    2. 导出要求为输出到指定位置并下载
    3. 导入文件导入后,存入数据库,并显示在页面
    4. 导出文件,点击导出后写入指定地址,并下载该文件

    效果图

    在这里插入图片描述

    项目结构

    在这里插入图片描述

    核心源码

    导入阿里巴巴EasyExcel依赖

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>easyexcel</artifactId>
        <version>2.1.6</version>
    </dependency>
    

    这里采用EasyExcel,为什么不采用POI呢?

    因为EasyExcel是对POI做的一个升级,POI相对于笨重,EasyExcel去除了一些POI比较繁琐的东西,所以EasyExcel比较轻量级,所以本文采用EasyExcel

    EasyExcel是阿里巴巴的产品,POI是Apache基金会的开源产品,EasyExcel对POI做了一个升级

    核心实体类

    package com.wanshi.spring.entity;
    
    import com.alibaba.excel.annotation.ExcelIgnore;
    import com.alibaba.excel.annotation.ExcelProperty;
    import com.alibaba.excel.annotation.write.style.ColumnWidth;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Employee {
    
        @ExcelIgnore
        private String noid;
    
        @ColumnWidth(20)
        @ExcelProperty("员工姓名")
        private String emp_name;
    
        @ColumnWidth(20)
        @ExcelProperty("员工年龄")
        private Integer emp_age;
    
        @ExcelIgnore
        private Integer emp_sex;
    
        //冗余字段
        @ColumnWidth(20)
        @ExcelProperty("员工性别")
        private String str_emp_sex;
    
        @ColumnWidth(20)
        @ExcelProperty("员工工资")
        private Double emp_salary;
    
        @ColumnWidth(20)
        @ExcelProperty("员工住址")
        private String emp_address;
    
        @ColumnWidth(20)
        @ExcelProperty("员工岗位")
        private String emp_position;
    
        //分页相关,当前页与每页的数据条数
        @ExcelIgnore
        private Integer pageNum;
        @ExcelIgnore
        private Integer pageSize;
    }
    
    

    核心监听器类

    EmployeeListener类:

    package com.wanshi.spring.listener;
    
    import com.alibaba.excel.context.AnalysisContext;
    import com.alibaba.excel.event.AnalysisEventListener;
    import com.wanshi.spring.entity.Employee;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class EmployeeReadListener extends AnalysisEventListener<Employee> {
    
        //员工集合
        private static List<Employee> employeeList = new ArrayList<>();
    
        // 每读一样,会调用该invoke方法一次
        @Override
        public void invoke(Employee data, AnalysisContext context) {
            employeeList.add(data);
            System.out.println("解析到一条数据:" + data);
        }
    
        // 全部读完之后,会调用该方法
        @Override
        public void doAfterAllAnalysed(AnalysisContext context) {
            System.out.println("全部解析完成");
        }
    
        /**
         * 返回读取到的员工集合
         * @return
         */
        public static List<Employee> getStudentList() {
            return employeeList;
        }
    }
    
    

    EasyExcel导入文件

    Test测试类实现文件导入并存入数据库

    @Test
    public void test1(){
        ExcelReaderBuilder workBook = EasyExcel.read
            ("C:\\Users\\王会称\\Desktop\\员工.xlsx", Employee.class, new EmployeeReadListener());
    
        // 封装工作表
        ExcelReaderSheetBuilder sheet1 = workBook.sheet();
        // 读取
        sheet1.doRead();
    
        //写入数据库
        List<Employee> studentList = EmployeeReadListener.getStudentList();
        for (Employee employee : studentList) {
            employee.setNoid(PbSecretUtils.uuid());
            employeeMapper.insert(employee);
        }
    }
    

    通过页面点击导入文件并存入数据库

    EmployeeController类:

    @PostMapping("/import_employee_excel")
    public String importEmployeeExcel(MultipartFile emp_excel) {
        employeeService.importExcel(emp_excel);
        return "redirect:/employee/list";
    }
    

    EmployeeService类:

    /**
         * 获取用户选择的文件并将文件存入指定位置再将数据存入数据库
         * @param emp_excel
         * @return
         */
    public Integer importExcel(MultipartFile emp_excel) {
        try {
            String fileName = FileUploadUtil.upload(emp_excel, "");
            ExcelReaderBuilder workBook = EasyExcel.read
                (GlobalSet.upload_url+fileName, Employee.class, new EmployeeReadListener());
    
            // 封装工作表
            ExcelReaderSheetBuilder sheet1 = workBook.sheet();
            // 读取
            sheet1.doRead();
    
            List<Employee> studentList = EmployeeReadListener.getStudentList();
            for (Employee employee : studentList) {
                employee.setNoid(PbSecretUtils.uuid());
                if ("男".equals(employee.getStr_emp_sex())) {
                    employee.setEmp_sex(1);
                } else {
                    employee.setEmp_sex(2);
                }
                employeeMapper.insert(employee);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return 0;
    }
    

    EasyExcel导出文件

    Test测试类导出文件到指定文件

    @Test
    public void test2() throws FileNotFoundException {
    
        List<Employee> employeeList = initData();
    
    
        ExcelWriterBuilder workBook = EasyExcel.write(GlobalSet.download_url, Employee.class);
    
        // sheet方法参数: 工作表的顺序号(从0开始)或者工作表的名字
        workBook.sheet("测试数据表").doWrite(employeeList);
        System.out.println("写入完成!");
    }
    
    /**
         * 生成测试数据
         * @return
         */
    public List<Employee> initData() {
        List<Employee> employeeList = new ArrayList<>();
        for (int i = 1; i < 100; i++) {
            Employee employee = new Employee();
            employee.setEmp_name("小王说:"+i);
            employee.setEmp_age(19);
            if (i % 10 == 0) {
                employee.setEmp_sex(1);
            } else {
                employee.setEmp_sex(2);
            }
            employee.setEmp_salary(19999.00+i);
            employee.setEmp_address("北京市朝阳区"+i);
            employee.setEmp_position("Java高级工程师");
            employeeList.add(employee);
        }
        return employeeList;
    }
    

    通过页面导出到指定文件后并下载文件

    EmployeeController类

    @GetMapping("/export_employee_excel")
        public void exportEmployeeExcel(HttpServletResponse response) {
            try {
                employeeService.exportEmployeeExcel(response);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    

    EmployeeService类:

    public void exportEmployeeExcel(HttpServletResponse response) throws IOException {
            List<Employee> kspwStudentSeatList = list();
            try {
                ExcelWriterBuilder workBook = EasyExcel.write(GlobalSet.download_url, Employee.class);
                // sheet方法参数: 工作表的顺序号(从0开始)或者工作表的名字
                workBook.sheet("员工信息").doWrite(kspwStudentSeatList);
                downloadTempalate(response);
                System.out.println("写入完成!");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 下载文件
         * @param response
         * @throws IOException
         */
        public static void downloadTempalate(HttpServletResponse response) throws IOException {
            // 告诉浏览器用什么软件可以打开此文件
            response.setHeader("content-Type", "application/vnd.ms-excel");
            // 下载文件的默认名称
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("员工信息.xlsx", "utf-8"));
            //4. 创建输入、输出流
            FileInputStream input = new FileInputStream(GlobalSet.download_url);
            ServletOutputStream sos = response.getOutputStream();
    
            //IO流获取文件的字节流,然后再响应给浏览器
            byte[] arr = new byte[1024];
            int res = 0;
            while((res = input.read(arr)) > 0){
                //将读取的内容输出到输出流中
                sos.write(arr, 0, res);
            }
    
            input.close();
            sos.close();
        }
    

    结语

    至此,数据完美导入导出,该案例通俗易懂,详细一步步带入,通过本案例,可实现文件基本的导入导出,认真学习的你很耀眼,相信你的技术一定会有一个质的飞跃,好啦,本周技术分享到此结束

    都看到这里啦,确定不点赞嘛

    若在本项目中遇到技术难题,可在下方评论区留言或私信我,授人以鱼不如授人以渔

    百度网盘地址:链接: https://pan.baidu.com/s/1vmrL7vl5Hlq-SqjdndOKyQ 提取码: me3n

    如果你觉得博主写的不错的话,不妨给个一键三连,点击下方小拳头即可一键三连。

    感谢你的支持!

    展开全文
  • C# Excel导入导出

    千次下载 热门讨论 2015-08-07 16:26:52
    C#调用NPOI进行Excel导入导出。 文件为一个解决方案,包含了所有开发源码。 文章为:http://www.cnblogs.com/polk6/p/4425620.html
  • jqGrid控件导入导出Excel文件

    热门讨论 2013-11-15 10:17:25
    jqGrid控件导入导出Excel文件,将几个jqgrid导出一份Excel多sheet文件 ,亦可多sheet的excel导入至多个jqGrid表格。
  • ES6 导入导出总结

    千次阅读 2022-01-12 12:57:05
    规范要求导出导入使用关键字: 导出: module.exports或exports(导出的就是对象以及里面的key和value值) module.exports = { key: () => {}, a: 10 } exports.key = 10 导入: const变量=require("模块...

    1.nodejs - 采用CommonJs规范

    规范要求导出和导入使用关键字:

    导出:   module.exports  或 exports   (导出的就是对象以及里面的key和value值)

        module.exports = {
          key: () => {},
          a: 10
        }
    
        exports.key = 10

    导入:    const 变量 = require("模块标识")  - 模块标识: 模块名字  /  模块路径

    2.ES6 的三种导入导出

        2.1 默认导出和导入

            默认导出的语法: export default {默认导出的成员}

            默认导入的语法: import 变量名称 from '模块路径'

       导出文件.js

    const a = 10
    const b = 20 
    const fn = () => {
      console.log("模块内 - 箭头函数")
    }
    
    // 导出
    export default {   // 导出对象,里面装集体的key和上面值
      a,
      b:b,
      myFn:fn
    }

    导入文件.js

    // 注意: .js后缀名必须得写 -babel不会自动去添加后缀名
    import Obj from "./导出文件.js"
    console.log(Obj)

    补充:

    如果在html文件使用   导入文件.js   的时候,需要注意:

    1.使用模块的那个文件引入进来

    2.浏览器对import支持性还不高,需要babel.js预处理(import翻译成浏览器认识的代码)后,再被浏览器执行

    3.引入babel.js,给import代码的标签添加type='text/babel',告诉浏览器这个script代码要被babel处理后你再来执行
     

    <script src="./babel.min.js"></script> 
    
    <script type="text/babel" src="./导入文件.js"></script>

    2.2 按需导出和导入

    按需导出的语法:  export const s1 = 10       export const 变量名 = 值(普通值/函数)

    按需导入的语法: import {按需导入的名称} from '模块路径'

    // 按需导出的方式
    export const a = 10
    export const b = 20 
    export const fn = () => {
       console.log("模块内 - 箭头函数")
    }
    
    
    
    
    // 按需导入
    // 补充: 可以用as关键字给变量起别名
    import {fn as theFn,a} from './text6.js'
    console.log(theFn,a)

    补充:

    1.可以用as关键字给变量起别名

    2.     代表当前文件所在文件夹

            ./ 访问当前文件夹下的东西

            如果不写  ./  默认找同级目录下的这个文件

    3.按需导入导出可以和默认导入导出同时在一个文件夹里使用,但是按需导入导出可以使用多次,默认导入导出只能使用一次

    2.3 无变量直接导入一个模块

    无导出.js

     for(let i = 0, i < 10; i++) {
      console.log(i)
     }
    
    // 无导出,就是一个普通要执行的模块
    

    导入.js

     import "./无导出.js"
    
    // 目的:为了让模块文件执行一次

    展开全文
  • SQL Server 数据库之导入导出数据

    千次阅读 2022-04-11 15:04:20
    导入导出数据 导入数据表 导出数据表 导入其他源数据表

    1. 概述

    导入数据也是数据库操作中使用频繁的功能,SQL Server 数据库的导入和导出向导能将数据复制到提供托管**.ENT Framework** 数据访问接口或本机OLE DB 访问接口的任何数据源,也能从这些数据源复制数据;
    用户能访问接口的列表,数据源包括 SQL Server 、平面文件、Microsoft Office Access、Microsoft Office Excel;
    若要成功完成 SQL Server 导入和导出向导,则必须至少具有下列权限:

    1. 连接到源数据库和目标数据库或文件共享的权限,该权限在 Integration Services 中,需要服务器和数据库的登录权限
    2. 从源数据库或文件中读取数据库的权限,在 SQL Server 数据库中,这需要对源表和视图具有SELECT 权限;
    3. 向目标数据库或文件写入数据的权限,在 SQL Server 数据库中,需要对目标表具有INSERT 权限;
    4. 若希望创建新的目标数据库、表或文件,就需要具有创建新的数据库、表或文件的足够权限;在 SQL Server 数据库中,需要具有 CREATE DATABASECREATE TABLE 权限;
    5. 若希望保存向导创建的包,需要具有向 msdb系统或文件系统进行写入操作的足够权限;

    2. 导入 SQL Server 数据表

    SQL Server 数据库的导入导出服务能实现不同类型的数据库系统的数据转换,为了让用户更直观地使用导入导出服务,Micosoft 提供了导入导出向导;
    导入和导出向导提供了一种从源向目标复制数据的简便方法,能在多种常用数据格式之间转换数据,还能创建目标数据库和插入表;
    用户可以向这些源中复制数据或从其中复制数据库:SQL Server 、文本文件、Access、Excel、其他 OLE DB 访问接口;这些数据源即可作,又能作目标,还能将 ADO.NET 访问接口作为源;指定源和目标后,便可选择要导入或导出的数据,用户可根据源和目标类型,设置不同的向导选项;
    导入 SQL Server 数据库的具体步骤如下:

    1. 选中数据库,右击数据库导入数据SQL Server 导入和导出界面下一步20220321
    2. 选择数据源对话框,选择数据源 ,服务器名称,数据库 →下一步;20220321

    注意: 服务器名称为本地服务器名称,即20220321

    1. 选择目标,下一步;20220321
    2. 指定表复制或查询,选择要复制的数据源,指定表复制或查询,下一步;20220321
      10.选中要导入的表,还可以预览数据表,保存并运行包,最后点击完成2022032120220321

    3. 导入其他数据源的数据

    导入其他数据源的数据与上述导入数据表的操作类似,在选择数据源的步骤中选择不同的数据源,如导入 Access 数据,就在数据源中选择 “Microsoft Access”,其他数据源同样在数据源下拉列表中选择;
    20220321
    注意: 在导入 Excel 数据时,注意选择正确的 Excel 版本;

    4. 导出 SQL Server 数据表

    SQL Server 数据集的导出数据跟导入数据类型;
    导入 SQL Server 数据库的具体步骤如下:

    1. 选中要导出的数据库右击 → 导出数据20220321

    2. 选择目标,输入服务器名称,数据库,下一步;20220321

    3. 指定表复制或查询,下一步;20220321

    4. 选择源表和源视图,选中要导出的数据表,下一步;20220321

    5. 保存并运行包,下一步,完成;2022032120220321

    展开全文
  • Java实现Excel导入导出

    千次下载 热门讨论 2010-05-05 13:41:55
    Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....
  • java Swing 导入导出Excel文件

    热门讨论 2013-10-28 14:12:37
    自定义的一个excel文件导入导出类,支持Excel2003到2010的格式。里面也有简单的配置文件的创建。
  • 数据的导入导出

    千次阅读 2022-03-28 10:08:21
    数据的导入导出 首先是数据导出,数据导出的编程比导入简单且不复杂,第一步先创建工作簿,创建工作簿还需要创建工作表,然后就是设置表标题、创建行、创建单元格、单元格设置值、合并单元格、设置单元格样式,...
  • Vue 使用Excel表格导入导出

    千次阅读 2022-01-15 09:21:47
    Vue 使用Excel表格导入导出
  • Intellij IDEA--导入导出配置

    千次阅读 多人点赞 2022-06-24 23:33:18
    本文用示例介绍Idea如何导入导出配置。 本方法适用于Intellij系列的所有软件,例如:Idea、WebStorm、PyCharm等。 为什么要导入导出配置? 使用软件时我们经常要自定义一些配置,如:快捷键、配色、代码格式等...
  • 3DMAX全版本SMD导入导出插件

    热门讨论 2014-08-16 22:03:34
    3DMAX全版本SMD导入导出插件,内附教程
  • 推荐阅读本https://eco.dameng.com/docs/zh-cn/start/index.html达梦数据库导入导出的官方参考文档: 数据导入导出 | 达梦技术文档DM 只导出表结构不导出数据针对导出数据库表结构通常有3种方法: 使用 DTS 导出...
  • postgres导入导出

    千次阅读 2022-05-17 17:32:59
    1、导出整个数据库 ./pg_dump -U postgres -s database > /home/demo.sql -U 用户名 -s 只导出表结构 database改成对应要导出的数据库名 2、导入整个数据库 psql -U postgres database < /home/demo....
  • oracle导入导出dmp文件

    千次阅读 2022-05-12 13:57:38
    仅输入数据库连接串和文件导出路径就可以执行导出导出文件后缀为dmp exp 用户名/密码@IP FILE=导出文件路径 2.按用户名导出 可支持多用户同时导出 exp 用户名/密码@IP FILE=导出文件路径 OWNER=(用户名1,用户名2...
  • Java实现Excel导入导出功能

    热门讨论 2012-01-31 07:37:58
    Java实现Excel导入导出功能网络搜集,很好用
  • Sql格式:.sql格式的文件,可用文本编辑器查看,通用性比较好,效率不如第一种, 适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long) ,如果有,会报错。 Pde格式:.pde 格式的文件, .pde 为PL/...
  • sqlserver2005导入导出数据库

    热门讨论 2011-12-27 09:21:39
    使用过SQLserver2005的人都知道,该数据库的管理软件sqlserver Management Studio虽然有备份、还原、导入导出数据库操作。但基本都不能成功。本文通过本人的成功导入导出经历简写而成。
  • VFP导入导出EXCEL2007、2010程序源码

    热门讨论 2013-12-10 17:02:31
    VFP导入导出EXCEL2007、2010程序源码
  • MySQL数据导入导出的两种方式

    千次阅读 2021-05-25 23:03:33
    本篇文章主要是写MySQL的数据导入导出的两种方式,分别是使用Navicat Premium数据库可视化工具的企业管理器导入导出数据和使用cmd方式导入导出数据。 提示:以下是本篇文章正文内容,下面案例可供参考 一、使用N
  • EasyPoi导入导出(一)

    千次阅读 2022-02-01 19:23:47
    EasyPoi是一个文件导入导出的工具插件,官网:http://doc.wupaas.com/docs/easypoi/easypoi-1c0u4mo8p4ro8 一、EasyPoi简单应用:导出excel 1.1 创建一个普通的maven项目(springboot项目也可以),然后在pom中导入相关...
  • clickhouse文件导入导出

    千次阅读 2021-07-21 23:34:13
    导出命令 clickhouse-client -h 127.0.0.1 --database="db" --port 9100 --passwowrd=xxxx --query="select * from db_name.table_name FORMAT CSV" > table_name.csv 注: 127.0.0.1为clickhouse数据库的IP,...
  • postgresql数据库导入导出

    千次阅读 2022-03-14 22:33:20
    导出数据库: 1.导出单个表 pg_dump -t thr -h 192.168.100.100 one -U postgres -p 5432 -f thr.sql 参数说明:-t 指定导出的表名;-h 数据库地址;-U 数据库用户;-p 访问端口;-f 导出到指定文件; 2.导出所有表...
  • 金蝶BOS开发之导入导出

    热门讨论 2012-06-28 13:50:58
    金蝶BOS开发,写的比较详细,值得你一看额
  • Oracle如何导出导入表及数据?我们知道Oracle导出导入表及数据,包括含有clob和blob数据的表数据,那么具体该怎么操作?且看下文。具体方法如下:解决方法1:1、导出导入表和数据,最快的还是在plsql工具里选择导出...
  • pgsql数据库实现导入导出

    千次阅读 2022-06-01 18:42:16
    pgsql数据库使用命令行导入导出
  • Spring3 MVC + POI 实现 Excel与MySQL 的导入导出
  • 10.Mysql数据库导入导出和授权

    千次阅读 2021-09-01 15:12:39
    10.Mysql数据库导入导出和授权 数据导出 1.数据库数据导出 #不要进入mysql,然后输入以下命令导出某个库中的数据 mysqldump-uroot-ptlxy > ~/Desktop/code/tlxy.sql 导出一个库中所有数据,会形成一个...
  • 导入导出测试用例编写】

    千次阅读 2022-04-25 19:15:45
    导入导出测试用例编写一、导出模板测试用例二、导出数据测试用例三、导入数据测试用例 一、导出模板测试用例 1.检查模板是否可以正常下载正常打开 2.检查模板表头格式展示是否正确,与系统列表中的字段是否一致 3...
  • 2,按需导入/导出 1,按需导出 语法:export 按需导出的成员 2,按需导入 注意事项: 每个模块中可以使用多次按需导出 按需导入的成员名称必须和按需导出的名称保持一致 按需导入时,可以使用as关键字进行重命名 按...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 518,334
精华内容 207,333
关键字:

导入导出

友情链接: cyrilmottier.zip