首页

文章

java使用什么技术实现excel数据的批量导入导出

发布网友 发布时间:2022-04-19 10:50

我来回答

2个回答

懂视网 时间:2022-04-08 15:26

不管是做软件还是做网站,相信很多人在做的时候都要用到数据库,而数据库的数据从何而来呢,可以使手动添加的,但是大多数情况下我们使用的是已有的数据,我们想借助开发的工具管理目前已有的数据,如果是小量的数据,手动录入也无妨,但是对于大量数据呢,手动录入显然已经不显示,而且,更多的时候,我们呢想在软件上增加一个数据的批量导入,这样不管是谁在用这款软件,都可以方便的管理已有数据,那么我们最常用的数据管理器是什么呢,毫无疑问Excel,但是我们做软件是几乎没有人会使用Excel作为DB,所以我们遇到的问题就是如何在软件中实现数据批量导入,数据源是Excel,有人会说用ODBC啊,可以导入到任何地方,但是这种做法好像没有什么技术含量,而且让用户没次批量导入的时候都设置一个ODBC数据源是不现实的,今天博主将给大家介绍用春java实现读取Excel数据文件放入Access数据库(各个数据库的原理是一样的),我们用到的是一个开源API,jxl,代码如下:

public static boolean readExcel(String filePath){
  boolean success=false;
  Workbook rwb = null;
  try{
   InputStream is = new FileInputStream(filePath);
   rwb = Workbook.getWorkbook(is);
   // 获取第一张Sheet表
   Sheet rs = rwb.getSheet(0);
   for (int k = 1; k < rs.getRows(); k++){
    String major=rs.getCell(0, k).getContents();
       String year=rs.getCell(1, k).getContents();
    String class1=rs.getCell(2, k).getContents();
    String number1=rs.getCell(3, k).getContents();
    String name=rs.getCell(4, k).getContents();
    String sex=rs.getCell(5, k).getContents();
    String people=rs.getCell(6, k).getContents();
    String area=rs.getCell(7, k).getContents();
    String birth=rs.getCell(8, k).getContents();
    String bodyid=rs.getCell(9, k).getContents();
    String phone=rs.getCell(10, k).getContents();
    String hostel=rs.getCell(11, k).getContents();
    String father=rs.getCell(12, k).getContents();
    String mather=rs.getCell(13, k).getContents();
    String tel=rs.getCell(14, k).getContents();
    String studentstate=rs.getCell(15, k).getContents();
    String level1=rs.getCell(16, k).getContents();
    String party=rs.getCell(17, k).getContents();
    String duties=rs.getCell(18, k).getContents();
    String english=rs.getCell(19, k).getContents();
    String computer=rs.getCell(20, k).getContents();
    String address=rs.getCell(21, k).getContents();
    String personstation=rs.getCell(22, k).getContents();
    String fundingstation=rs.getCell(23, k).getContents();
    String awardstation=rs.getCell(24, k).getContents();
    String punishmentstation=rs.getCell(25, k).getContents();
    String other1=rs.getCell(26, k).getContents();
    String picturepath="";
    if(major.equals("")||class1.equals("")||name.equals("")||number1.equals("")){
     success=false;
     break;
    }else{
     String str1="insert into information(major,year,class1,number1,name,sex,people,area,birth,bodyid,phone,hostel,father,mather,tel,studentstate,level1,party,duties,english,computer,address,personstation,fundingstation,awardstation,punishmentstation,other1,picturepath)values(‘"+major+"‘,‘"+year+"‘,‘"+class1+"‘,‘"+number1+"‘,‘"+name+"‘,‘"+sex+"‘,‘"+people+"‘,‘"+area+"‘,‘"+birth+"‘,‘"+bodyid+"‘,‘"+phone+"‘,‘"+hostel+"‘,‘"+father+"‘,‘"+mather+"‘,‘"+tel+"‘,‘"+studentstate+"‘,‘"+level1+"‘,‘"+party+"‘,‘"+duties+"‘,‘"+english+"‘,‘"+computer+"‘,‘"+address+"‘,‘"+personstation+"‘,‘"+fundingstation+"‘,‘"+awardstation+"‘,‘"+punishmentstation+"‘,‘"+other1+"‘,‘"+picturepath+"‘)";
        CommonCode.addInfo(str1);
        CommonCode.closeAll(); 
        success=true;
         }
   }
   rwb.close();
  }catch (Exception e){
   e.printStackTrace();
  }
  return success;
 }

用java实现excel数据批量导入数据库

标签:

热心网友 时间:2022-04-08 12:34

java使用第三方工具包POI技术实现excel数据的批量导入导出。

举例如下:

1、下载apache的相关jar包。poi-ooxml-3.6.jar xmlbeans-2.3.0.jar等,如图:

2、编写相关的读写类

    /**

     * 读取xls文件内容

     */

    private
List<XlsDto> readXls() throws
IOException {

        InputStream is = new
FileInputStream("test.xls");

        HSSFWorkbook hssfWorkbook = new
HSSFWorkbook(is);

        XlsDto xlsDto = null;

        List<XlsDto> list = new
ArrayList<XlsDto>();

        // 循环工作表Sheet

        for
(int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {

            HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);

            if
(hssfSheet == null) {

                continue;

            }

            // 循环行Row

            for
(int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {

                HSSFRow hssfRow = hssfSheet.getRow(rowNum);

                if
(hssfRow == null) {

                    continue;

                }

                xlsDto = new
XlsDto();

                // 循环列Cell

                // 0学号 1姓名 2学院 3课程名 4 成绩

                // for (int cellNum = 0; cellNum <=4; cellNum++) {

                HSSFCell xh = hssfRow.getCell(0);

                if
(xh == null) {

                    continue;

                }

                xlsDto.setXh(getValue(xh));

                HSSFCell xm = hssfRow.getCell(1);

                if
(xm == null) {

                    continue;

                }

                xlsDto.setXm(getValue(xm));

                HSSFCell yxsmc = hssfRow.getCell(2);

                if
(yxsmc == null) {

                    continue;

                }

                xlsDto.setYxsmc(getValue(yxsmc));

                HSSFCell kcm = hssfRow.getCell(3);

                if
(kcm == null) {

                    continue;

                }

                xlsDto.setKcm(getValue(kcm));

                HSSFCell cj = hssfRow.getCell(4);

                if
(cj == null) {

                    continue;

                }

                xlsDto.setCj(Float.parseFloat(getValue(cj)));

                list.add(xlsDto);

            }

        }

        return
list;

    } 

3、导出就是输入到一个新的excel文件里面

public void writeXls(List<Student> list, String path) throws Exception {

    if (list == null) {原始数据为空,直接返回

        return;

    }

    int countColumnNum = list.size();//设置列数

    HSSFWorkbook book = new HSSFWorkbook(); //创建工作表对象

    HSSFSheet sheet = book.createSheet("studentSheet");

    // 创建第一行

    HSSFRow firstRow = sheet.createRow(0);

    HSSFCell[] firstCells = new HSSFCell[countColumnNum];

    //创建表头

    String[] options = { "no", "name", "age", "score" };

   //循环数据域

    for (int j = 0; j < options.length; j++) {

        firstCells[j] = firstRow.createCell(j);

        firstCells[j].setCellValue(new HSSFRichTextString(options[j]));

    }

    //处理每一个cell的值

    for (int i = 0; i < countColumnNum; i++) {

        HSSFRow row = sheet.createRow(i + 1);

        Student student = list.get(i);

        for (int column = 0; column < options.length; column++) {

            HSSFCell no = row.createCell(0);

            HSSFCell name = row.createCell(1);

            HSSFCell age = row.createCell(2);

            HSSFCell score = row.createCell(3);

            no.setCellValue(student.getNo());

            name.setCellValue(student.getName());

            age.setCellValue(student.getAge());

            score.setCellValue(student.getScore());

        }

    }

    File file = new File(path);

    OutputStream os = new FileOutputStream(file);

    System.out.println(Common.WRITE_DATA + path);

    book.write(os);

    os.close();

}

李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 java导出excel有什么好的工具吗 最近松下空调开制暖后。半小时自动停机然后定时灯一直闪烁 松下空调制热问题 松下空调为什么制热的相当慢还有温度上不 松下空调怎么调制热 松下空调制冷的效果很好的制热的就不热是怎么回事 松下冷暖空调不制热 制热功能就不启动!指示灯闪 松下空调制热没反应不出风是什么原因 松下空调制热不行,一开机就出风怎么回事 空调不到设定温度就停-空调内机在未达到设定温度就停机,坏了吧 松下空调冬天制暖效果不太好,为什么? 松下空调制热效果不好 松下空调制冷的效果很好的制热的就不热是怎么回事 松下空调不能制热 松下空调不送热风是什么原因 松下空调制热没反应 松下空调不制热原因 松下空调制冷可以,但制热效果不行,请问是何故障 松下空调kfr一72lw/pyc1不制暖是什么问题 松下空调为什么有冷风但是却吹不出暖风呢? 博思得q8条码打印机怎么打印日文 求速解 急用 如何用java完成Excel快速的导入导出 谁能给我个Java 的 Excel导出工具类 java导出数据到excel的几种方法的比较 404 Not Found 用JAVA导出一个Excel文件的工具 java导出复杂Excel报表求帮助 java导出excel java excel导出数据页面怎么写 java里将从excel读到的数据用csv导出,代码怎么写 java怎样输出excel文件 java操作excel有多少个工具类 怎样实现把java显示的结果在EXCEL中输出 404 Not Found java 通用导出一个excel java中怎么把报表导出到excel java怎么导出excel 《十年》txt全集下载 秋刀鱼的滋味小说txt全集免费下载 10分钟算不出来看你是否老年痴呆算术题 雷氏家族家谱及字辈排序
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com