Maison Java javaDidacticiel Exemple de la façon dont Java utilise jxl pour lire Excel et l'enregistrer dans la base de données

Exemple de la façon dont Java utilise jxl pour lire Excel et l'enregistrer dans la base de données

Oct 20, 2017 am 09:34 AM
excel java 读取

这篇文章主要为大家详细介绍了Java用jxl读取excel并保存到数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

项目中涉及到读取excel中的数据,保存到数据库中,用jxl做起来比较简单。

基本的思路:

把excel放到固定盘里,然后前段页面选择文件,把文件的名字传到后台,再利用jxl进行数据读取,把读取到的数据存到list中,通过遍历list,得到map,存到数据库中。

首先导入jar包:在网上都有,

代码:

页面:

新模excel导入


1

<input type="file" name="excel" id="xinmu">

Copier après la connexion


1

<input type="button" id="newmj" value="导入">

Copier après la connexion

js


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

//通过ajax进行操作

$(function(){

   $("#newmj").click(function(){

    alert("haha");

    $.ajax({

     url:'${pageContext.request.contextPath}/UploadExcelServlet?type=xinmu&filename='+$("#xinmu").val(),

     type:'get',

     success:function(result){

      //alert("haha");

      alert(result);

       var json= eval('(' + result + ')');

              }

    })

   })

  });

Copier après la connexion

servlet


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 //request.setCharacterEncoding("utf-8");

 System.out.println("jinru");

 String type=request.getParameter("type");

 String filename=request.getParameter("filename");

 //System.out.println(filename);

 File file = new File("D:\\"+filename);// 表格存储的位置

 JSONObject jsonObject = new JSONObject();

 //记录一下文件是否存在

 if (file.exists()) {

  jsonObject.put("exist", "文件存在");

  List<Map<String, String>>list=ReadExcel.readExcel(file);

  MuJUService mjService = new MuJUService();

  for (Map<String, String> map : list) {

   jsonObject = mjService.addNewMuJu(map);

  }

   

 } else {

  jsonObject.put("exist", "文件不存在");

  System.out.println("文件不存在");

 }

  

 

}

Copier après la connexion

jxl处理类


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

import java.io.File;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

 

import jxl.Cell;

import jxl.Sheet;

import jxl.Workbook;

 

public class ReadExcel {

  

 public static List<Map<String,String>> readExcel(File file){

  List<Map<String, String>>list =new ArrayList<Map<String,String>>();

  try {

   // 判断文件是否存在

    // 创建工作簿

    Workbook workbook = Workbook.getWorkbook(file);

    // 获得第一个工作表sheet1

    Sheet sheet = workbook.getSheet(0);

    // 获得数据

    for (int i = 1; i < sheet.getRows(); i++) {// sheet.getRows():获得表格文件行数

     Map<String, String>map = new HashMap<String, String>();

     for (int j = 0; j < sheet.getColumns(); j++) {// sheet.getColumns():获得表格文件列数

      Cell cell = sheet.getCell(j, i);

     // System.out.print(cell.getContents() + " ");

      map.put(sheet.getCell(j,0).getContents(), cell.getContents());

      //(列,行)

     }

     //System.out.println("");// 换行

     list.add(map);

    }

    //调用方法进行数据库的操作

    //.......

    System.out.println(list);

    workbook.close();// 关闭

   } catch (Exception e) {

    e.printStackTrace();

   }

  return list;

 }

}

Copier après la connexion

如此就能完成了,但是值得注意的是,我现在写的这段代码,无法自由选择文件路径进行读取,excel必须放在固定盘里。excel后缀必须是.xls,所以wps的excel不可用,而且文件名字不可以是中文。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Racine carrée en Java Racine carrée en Java Aug 30, 2024 pm 04:26 PM

Racine carrée en Java

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Nombre parfait en Java

Générateur de nombres aléatoires en Java Générateur de nombres aléatoires en Java Aug 30, 2024 pm 04:27 PM

Générateur de nombres aléatoires en Java

Numéro Armstrong en Java Numéro Armstrong en Java Aug 30, 2024 pm 04:26 PM

Numéro Armstrong en Java

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Weka en Java

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Numéro de Smith en Java

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Questions d'entretien chez Java Spring

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Break or Return of Java 8 Stream Forach?

See all articles