java導入excel,java導入excel表格

本文目錄一覽:

java excel怎麼快速導入

快速導入也是需要java的poi的,可以參照如下代碼:

public ListScoreInfo loadScoreInfo(String xlsPath) throws IOException{

List temp = new ArrayList();

FileInputStream fileIn = new FileInputStream(xlsPath);

//根據指定的文件輸入流導入Excel從而產生Workbook對象

Workbook wb0 = new HSSFWorkbook(fileIn);

//獲取Excel文檔中的第一個表單

Sheet sht0 = wb0.getSheetAt(0);

//對Sheet中的每一行進行迭代

for (Row r : sht0) {

//如果當前行的行號(從0開始)未達到2(第三行)則從新循環

If(r.getRowNum()1){

continue;

}

//創建實體類

ScoreInfo info=new ScoreInfo();

//取出當前行第1個單元格數據,並封裝在info實體stuName屬性上

info.setStuName(r.getCell(0).getStringCellValue());

info.setClassName(r.getCell(1).getStringCellValue());

info.setRscore(r.getCell(2).getNumericCellValue());

info.setLscore(r.getCell(3).getNumericCellValue());

temp.add(info);

}

fileIn.close();

return temp;

}

如何在Java中導入Excel表數據

import java.io.*;

import java.text.SimpleDateFormat;

import java.util.*;

import java.sql.*;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

import jxl.*;

public class SimUpdate {

private String fileName;

public ZfzSimUpdate(String fileName){

this.fileName = fileName;

}

static Map tNames;

static{

tNames = new HashMap();

}

/**

* 用於產生 資料庫的 ID 值,組成 [年月日時分秒(100-999)] 總共 17 位數.

* 根據不同的表名,可保證同一秒內產生的 ID 號不重複

*/

private static String getDtime() {

String rid;

Date nd = new Date();

SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMddHHmmss”);

rid = sdf.format(nd);

return rid;

}

public String getSeqNumber(String tableName) {

if(tableName == null || “”.equals(tableName))

tableName = “GENERY”;

Integer it;

// noinspection SynchronizeOnNonFinalField

synchronized(tNames){

it = (Integer)tNames.get(tableName);

if(it == null){

it = new Integer(100);

tNames.put(tableName, it);

}else{

if(it.intValue() 998)

it = new Integer(100);

else

it = new Integer(1 + it.intValue());

tNames.put(tableName, it);

}

}

return getDtime() + String.valueOf(it);

}

private void updateDb(){

try{

Connection conn = DbPool.connectDB();

if(conn != null){

Statement stmt = conn.createStatement();

/**********************************************/

jxl.Workbook rwb = null;

try{

//構建Workbook對象 只讀Workbook對象

//直接從本地文件創建Workbook

//從輸入流創建Workbook

InputStream is = new FileInputStream(fileName);

rwb = Workbook.getWorkbook(is);

//Sheet(術語:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中

//Sheet的下標是從0開始的

//獲取第一張Sheet表

Sheet rs = rwb.getSheet(0);

//獲取Sheet表中所包含的總列數

int rsColumns = rs.getColumns();

//獲取Sheet表中所包含的總行數

int rsRows = rs.getRows();

//獲取指這下單元格的對象引用

String simNumber = “”,termSeqId = “”;

//指定SIM卡號及序列號

for(int i=0;irsRows;i++){

for(int j=0;jrsColumns;j++){

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

if(j==0){

simNumber = cell.getContents();

}

termSeqId = “633”+simNumber;

}

String sql = “查詢SQL”;

int isOk = stmt.executeUpdate(sql);

if(isOk == 0 !simNumber.equals(“”)){

String termId = getSeqNumber(“termInf”);

String insertSql = “自定義INSERT”;

int isAdd = stmt.executeUpdate(insertSql);

if(isAdd 0){

System.out.println(“成功插入第”+i+”條數據”);

}

}

//System.out.println(“SIM卡號:”+simNumber+”,序列號:”+termSeqId);

}

//以下代碼為寫入新的EXCEL,這裡不使用,所以注釋

/*

//利用已經創建的Excel工作薄創建新的可寫入的Excel工作薄

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(“D://Book2.xls”),rwb);

//讀取第一張工作表

jxl.write.WritableSheet ws = wwb.getSheet(0);

//獲取第一個單元格對象

jxl.write.WritableCell wc = ws.getWritableCell(0, 0);

//決斷單元格的類型,做出相應的轉化

if (wc.getType() == CellType.LABEL) {

Label l = (Label) wc;

l.setString(“The value has been modified.”);

}

//寫入Excel對象

wwb.write();

wwb.close();

*/

}catch(Exception e){

e.printStackTrace();

}

finally{

//操作完成時,關閉對象,翻譯佔用的內存空間

rwb.close();

}

/*********************************************/

}

}catch(Exception e){

e.printStackTrace();

}

}

public static void main(String args[]){

DbPool dbPool = new DbPool(“dbConn.cfg”);//連接資料庫

SimUpdate simUpdate = new SimUpdate(“zfz_sim.xls”);

simUpdate.updateDb();

}

}

我只用了讀取XLS,寫入沒試,應該沒問題吧,你把注釋了的拿 來試一下吧

java怎麼批量導入excel數據

兩種方案:1.可以對資料庫中的這張表進行本地緩存處理,驗證時調用緩存進行匹配驗證。2.用程序生成需要導入excel的數據模板,在模板里將要驗證的這一列做成下拉框。此模板條件下的excel數據文件批量導入時即不用校驗。具體採用哪種視你的應

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/272249.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-17 13:55
下一篇 2024-12-17 13:55

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • 使用Treeview顯示錶格

    在web開發中,顯示錶格數據是一項很常見的需求。當我們需要在頁面上顯示大量數據時,除了使用傳統的表格樣式外,還可以使用Treeview這種可摺疊的表格樣式,以便更好地展示數據。本文…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論