ホームページ Java &#&チュートリアル Java が jxl を使用して Excel を読み取り、データベースに保存する方法の例

Java が jxl を使用して Excel を読み取り、データベースに保存する方法の例

Oct 20, 2017 am 09:34 AM
excel java 読む

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

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

基本的思路:

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

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

代码:

页面:

新模excel导入


<input type="file" name="excel" id="xinmu">
ログイン後にコピー


<input type="button" id="newmj" value="导入">
ログイン後にコピー

js


//通过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 + ')');
              }
    })
   })
  });
ログイン後にコピー

servlet


 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("文件不存在");
  }
  
 
 }
ログイン後にコピー

jxl处理类


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;
 }
}
ログイン後にコピー

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

以上がJava が jxl を使用して Excel を読み取り、データベースに保存する方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Javaの平方根

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Javaの完全数

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーター

Javaのアームストロング数 Javaのアームストロング数 Aug 30, 2024 pm 04:26 PM

Javaのアームストロング数

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

ジャワのウェカ

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Javaのスミス番号

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

Java Springのインタビューの質問

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8 Stream Foreachから休憩または戻ってきますか?

See all articles