當前位置:編程學習大全網 - 源碼下載 - java中如何導入Excel,並給出模板

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;i<rsRows;i++){

for(int j=0;j<rsColumns;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();

}

}

  • 上一篇:想學數控車編程?那這12個指令代碼妳必須記牢!
  • 下一篇:又壹個算命的。
  • copyright 2024編程學習大全網