问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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();

}

java多线程进行大批量excel数据导入实现方案?

方法一:使用JExcel API。此方法直接操作Excel文件,适合数据量不大且对性能要求不高的场景。在多线程导入时,可将数据分类分块,每个线程处理一块数据,提升导入效率。方法二:将Excel数据转换为CSV格式,再导入到目标平台。这种方法相对方法一在性能上有所提升,同时减少了对Java库的依赖。同样在多线程环...

Java开发中如何用POI优雅的导出Excel文件

实现步骤包括:1)定义注解,标注需要导出的字段及字段名称,以便生成表头。2)实体类设计,根据注解确定哪些字段需要导出到Excel。3)使用POI库操作Excel文件,通过HttpServletResponse或文件存储进行输出。具体实现中,将数据从集合中读取,根据注解生成表头,并填充到Excel的相应列中。最后,将Excel文件输出到...

Java实现Excel导入和导出,看这一篇就够了(珍藏版)(一)

1.11 动态导出(导出图片)将图片链接转换为java.net.URL类型,实现图片在导出文件中的直接显示。1.12 动态导出(实现下拉列表)设置性别、城市等列的下拉选择,用于数据导出时的约束限制。1.13 动态导出(横向合并)将单元格横向合并,通过ExcelUtils.COLUMN_MERGE属性实现。1.14 动态导出(纵向合并)进...

Java导入、导出excel保姆级教程(附封装好的工具类)

一个完整的SpringBoot项目示例展示了这些操作:在pom.xml中配置依赖,Controller层实现导出和导入功能,使用自定义的工具类处理数据操作。导入时,需要注意工具类支持的类型,如仅限于Java的八种基本数据类型和String。示例中,学生信息集合将通过这些工具类以Excel格式展示。通过这些步骤,你将能够熟练地使用Ja...

Java项目文件导入导出-EasyExcel的使用

一、导入依赖(根据项目实际情况导入,避免依赖冲突。以下为springboot单元测试环境下的依赖)二、创建实体对象,与Excel表格对应 三、创建dao层或service层,将Excel数据存储到数据库。本次测试未使用数据库,可根据需求修改代码 四、自定义监听器,与实体对象对应,后期可使用泛型定义万能监听器,避免重复...

Java读写Excel原来这么简单

首先,引入EasyExcel的库。导出数据时,有两种方式:一是无需创建对象直接写入,二是根据对象写入。不创建对象的写入通过简单的一行代码完成,如下所示:head()...dataList()...要设置列宽,可以使用特定方法调整。对象导入Excel同样简单,通过`doWrite`方法传入对象集合即可。若要忽略某些字段,使用`@...

JAVA如何实现导出大数量EXCEL报表 数据大概100W条

fileName);rwb=Workbook.getWorkbook(is);//Sheet(术语:工作表)就是Excel表格左下角的Sheet ,Sheet ,Sheet 但在程序中//Sheet的下标是从 开始的//获取第一张Sheet表Sheetrs=rwb.getSheet(

JAVA怎么向Excel中写入批量数据?

public static void drawExcel(HSSFWorkbook wb, String sheetName, String title, int n, List exlList, int[] index){\x0d\x0aList exList =(List)exlList;\x0d\x0aint len = exList.get(0).length;\x0d\x0a// 创建一个sheet表单\x0d\x0aHSSFSheet sheet = wb.createSheet(...

easyexcel有什么用easyexcel使用说明

写入和操作。通过EasyExcel,我们可以将数据快速地写入到Excel中,也可以将Excel中的数据读取出来进行处理。EasyExcel支持大批量数据的读写,可以实现一次性读写大量数据,提高数据处理的效率。在实际应用中,EasyExcel可以用于数据导入导出、数据报表生成、数据分析等场景,是Java开发中必不可少的工具之一。

excel导出百万数据,解决超时和内存溢出的问题

return "XSSFWorkbook:100w条数据写入Excel消耗时间:" + (t2 - t1);} 运行这段代码后,会发现导出过程非常耗时,这显然是因为内存和性能问题导致的。接下来,我们尝试使用SXSSFWorkbook工具进行同样的操作。同样使用传统方式,我们先引入依赖:org.apache.poi、poi-ooxml版本3.17,然后编写代码如下:java ...

java实现excel的数据导入 java批量导入excel数据 java实现excel导入数据库 java实现excel导入 java实现导出excel java将excel导入数据库 java excel导入导出 java批量导出excel java怎么导入excel
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大连大学中外办学值得上吗 大连大学国际本科是公办还是民办 介绍一些有古老气息的,有传说的地方,越多越好。最好在中国中部。 现在的日本鬼子难道一定是你们想的这样坏吗?坏的是日本政府! 我近几年在吃玉米的时候总是不消化,一吃就拉出来了,而且大便中... 同时掷3个均匀的骰子,当得知"其中两个骰子面朝上点数之和为8时"获得多... 重庆市工伤申请表的鉴定程序是什么的 ...做了包皮手术,有早泄有前列腺,在晚上睡觉梦游射精,有什么影响到病快... 电脑没声,音箱正常,也没发现有感叹号和问号.声音控制部分被禁用.是换了... 属狗女什么属相最配对,属狗女和什么属相最配 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分钟算不出来看你是否老年痴呆算术题 雷氏家族家谱及字辈排序