1. 怎麼在java中將oracle數據導入Excel
菜鳥也不怕,干it的會在網路里找到相對應的答案就可以。我指的是菜鳥階段。我也是菜鳥。呵呵。
1,用jdbc或hibernate把數據讀出來,這個是一定的。
2,操作excel主要可以用jxl這個jar包,導進去。用這個包的時候,幾個主要的操作,
try {
//open file.
WritableWorkbook book = Workbook.createWorkbook(new File("d:/Test.xls"));
//create Sheet named "Sheet_1". 0 means this is 1st page.
WritableSheet sheet = book.createSheet("Sheet_1", 0);
//define cell column and row in Label Constructor, and cell content write "test".
//cell is 1st-Column,1st-Row. value is "test".
Label label = new Label(0, 0, "test");
//add defined cell above to sheet instance.
sheet.addCell(label);
//create cell using add numeric. WARN:necessarily use integrated package-path, otherwise will be throws path-error.
//cell is 2nd-Column, 1st-Row. value is 789.123.
jxl.write.Number number = new jxl.write.Number(1, 0, 789.123);
//add defined cell above to sheet instance.
sheet.addCell(number);
//add defined all cell above to case.
book.write();
//close file case.
book.close();
相關的操作,網上有好多。去搜一下。
2. java中怎麼將oracle數據導出到excel
用到的JAR包如下:
poi-3.9-20121203.jar
poi-ooxml-3.9-20121203.jar
poi-ooxml-schemas-3.9-20121203.jar
xmlbeans-2.3.0.jar
可能有沖突的JAR包,如果工程lib中存在,需要刪除。
xbean-2.1.0.jar
具體代碼如下:
Java代碼
package com.yusj;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
* 導入和導出Excel文件類
* 支持2003(xls)和2007(xlsx)版本的Excel文件
*
* @author yxm
*/
public class OperationExcelForPOI {
public static void main(String[] args) {
// 文件所在路徑
String execelFile = "C:/Book2007.xlsx" ;
//String execelFile = "C:/Book2003.xls" ;
// 導入Excel
new OperationExcelForPOI().impExcel(execelFile) ;
// 導出Excel
String expFilePath = "C:/testBook.xls" ;
new OperationExcelForPOI().expExcel(expFilePath);
}
/**
* 導入Excel
* @param execelFile
*/
public void impExcel(String execelFile){
try {
// 構造 Workbook 對象,execelFile 是傳入文件路徑(獲得Excel工作區)
Workbook book = null;
try {
// Excel 2007獲取方法
book = new XSSFWorkbook(new FileInputStream(execelFile));
} catch (Exception ex) {
// Excel 2003獲取方法
book = new HSSFWorkbook(new FileInputStream(execelFile));
}
// 讀取表格的第一個sheet頁
Sheet sheet = book.getSheetAt(0);
// 定義 row、cell
Row row;
String cell;
// 總共有多少行,從0開始
int totalRows = sheet.getLastRowNum() ;
// 循環輸出表格中的內容,首先循環取出行,再根據行循環取出列
for (int i = 1; i <= totalRows; i++) {
row = sheet.getRow(i);
// 處理空行
if(row == null){
continue ;
}
// 總共有多少列,從0開始
int totalCells = row.getLastCellNum() ;
for (int j = row.getFirstCellNum(); j < totalCells; j++) {
// 處理空列
if(row.getCell(j) == null){
continue ;
}
// 通過 row.getCell(j).toString() 獲取單元格內容
cell = row.getCell(j).toString();
System.out.print(cell + "\t");
}
System.out.println("");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void expExcel(String expFilePath){
OutputStream os = null ;
Workbook book = null;
try {
// 輸出流
os = new FileOutputStream(expFilePath);
// 創建工作區(97-2003)
book = new HSSFWorkbook();
// 創建第一個sheet頁
Sheet sheet= book.createSheet("test");
// 生成第一行
Row row = sheet.createRow(0);
// 給第一行的第一列賦值
row.createCell(0).setCellValue("column1");
// 給第一行的第二列賦值
row.createCell(1).setCellValue("column2");
// 寫文件
book.write(os);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 關閉輸出流
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
3. 如何用java把excel中的數據導進Oracle中
示例2將演示如何讀取Excel文檔中的數據。假定在D盤JTest目錄下有一個文件名為gongye.xls的Excel文件。
示例2程序如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
public class ReadXL {
/** Excel文件的存放位置。注意是正斜線*/
public static String fileToBeRead="D:/JTest/ gongye.xls";
public static void main(String argv[]){
try{
// 創建對Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 創建對工作表的引用。
// 本例是按名引用(讓我們假定那張表有著預設名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
// 也可用getSheetAt(int index)按索引引用,
// 在Excel文檔中,第一張工作表的預設索引是0,
// 其語句為:HSSFSheet sheet = workbook.getSheetAt(0);
// 讀取左上端單元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 輸出單元內容,cell.getStringCellValue()就是取所在單元的值
System.out.println("左上端單元是: " + cell.getStringCellValue());
}catch(Exception e) {
System.out.println("已運行xlRead() : " + e );
}
}
}
more:
http://hi..com/javajavajava/blog/item/2ec5021216951c56f919b82d.html
4. java實現把excel數據導入到ORACLE中,求全部代碼。。。
你直接用excel的VBA好不好,簡單方便,老少皆宜。
如果你非要用java的話你得先找到java處理excel的包導到java工程里。
其餘跟正常java存數據一樣了。
我給你個VBA連接資料庫的代碼 你看著改改。
'****ConnectDB*****
Private Function connect(dbusr As String) As Boolean
connect = False
On Error GoTo ERROR_SECTION
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
'******** User Password link ********
Dim dbLink As String
dbLink = dbusr + "/" + dbusr
Set OraDatabase = OraSession.OpenDatabase("orclprod", dbLink, 8&)
'******** User Password link ********
connect = True
Exit Function
ERROR_SECTION:
Call MsgBox(Str(Err.Number) + "-" + Err.Description, vbOKOnly + vbCritical, "Connect Err")
Err.Clear
End Function
'****disConnectDB*****
Private Function disconnect() As Boolean
disconnect = False
On Error GoTo ERROR_SECTION
Set OraDatabase = Nothing
Set OraSession = Nothing
disconnect = True
Exit Function
ERROR_SECTION:
Call MsgBox(Str(Err.Number) + "-" + Err.Description, vbOKOnly + vbCritical, "DisConnect Err")
Err.Clear
End Function
Private Sub CommandButton1_Click()
Dim userDB As String
Dim nameDB As String
Dim nameAccount As String
Dim sumAcc As String
Dim columnRow As Integer
Dim endFal As Boolean
userDB = "aa"
nameDB = "bb"
sumAcc = 4
endFal = True
While endFal
nameAccount = Sheets("AccountCode").Cells(sumAcc, 4)
sumAcc = sumAcc + 1
If nameAccount = "" Then
endFal = False
End If
Wend
If connect(userDB) = False Then
Sheets("AccountCode").Cells(1, 5) = "Connect Error"
Else
For columnRow = 4 To sumAcc - 2
nameAccount = Sheets("AccountCode").Cells(columnRow, 4)
Call getAccountBK(nameDB, nameAccount, columnRow)
Next columnRow
End If
If disconnect = False Then Exit Sub
End Sub
5. java 怎麼從excel文件導入到oracle資料庫中
java操作excel一般都使用poi來完成:
1、下載poi相關jar,maven的集成如下:(把${poi.version}替換成你要的版本)
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>${poi.version}</version>
<scope>provided</scope>
</dependency>
2、根據poi相關api讀取sheet、row、cell,獲得excel的數據:
封裝row的對象,即每一行數據為一個對象,每個cell為對象里的一個屬性,
整個sheet的數據裝進集合里;
3、處理數據,可以對數據進行驗證或其他操作;
4、寫資料庫操作。
6. 如何用java將excel導入oracle
思路:用戶選擇要導入的EXCEL文件,上傳至WEB伺服器。然後將文件存放目錄傳給POI類。通過對row循環取到cell的值,最後insert到ORACLE中。
publicbooleansaleDeptToDB(StringspreadSheet)throwsHekException{
booleanflag=false;
IDBConndb=DBConn.getInstance();
IDBOperatedbOp=DBOperate.getInstance();
Connectionconn=db.getConn();
PreparedStatementpstmt=null;
try{
HSSFWorkbookworkbook=newHSSFWorkbook(newFileInputStream(spreadSheet));
HSSFSheetsheet=workbook.getSheetAt(0);
Stringsql="insertintotableName(DEPT_ID,DEPT_CODE,DEPT_DESC,ITEM_NO,ITEM_CATE,BUDGET_QTY,BUDGET_AMOUNT,TIME_ID)";
sql+="values(?,?,?,?,?,?,?,?)";
pstmt=conn.prepareStatement(sql);
for(introwNumOfSheet=1;rowNumOfSheet
HSSFRowrowOfSheet=sheet.getRow(rowNumOfSheet);
HekSaleDeptManualhek=newHekSaleDeptManual();
HSSFCellcell0=rowOfSheet.getCell((short)0);
if(cell0!=null)hek.setDeptId((int)cell0.getNumericCellValue());
HSSFCellcell1=rowOfSheet.getCell((short)1);
if(cell1!=null)hek.setDeptCode(cell1.getRichStringCellValue().toString());
HSSFCellcell2=rowOfSheet.getCell((short)2);
if(cell2!=null)hek.setDeptDesc(cell2.getRichStringCellValue().toString());
HSSFCellcell3=rowOfSheet.getCell((short)3);
if(cell3!=null)hek.setItemNo(cell3.getRichStringCellValue().toString());
HSSFCellcell4=rowOfSheet.getCell((short)4);
if(cell4!=null)hek.setItemCate(cell4.getRichStringCellValue().toString());
HSSFCellcell5=rowOfSheet.getCell((short)5);
if(cell5!=null)hek.setBudgetQty(cell5.getNumericCellValue());
HSSFCellcell6=rowOfSheet.getCell((short)6);
if(cell6!=null)hek.setBudgetQty(cell6.getNumericCellValue());
HSSFCellcell7=rowOfSheet.getCell((short)7);
if(cell7!=null)hek.setTimeID(cell7.getRichStringCellValue().toString());
dbOp.insertBathHekDept(pstmt,hek);
}
pstmt.executeBatch();
flag=true;
conn.commit();
}catch(SQLExceptionex){
db.rollbackTransaction(conn);
System.out.println("recordToDBError:"+ex);
}catch(IOExceptionioex){
System.out.println("saleDeptToDBreadfileError:"+ioex);
}finally{
db.closePstmt(pstmt);
7. java如何動態獲取excel中的類數據保存到oracle資料庫中
操作步驟如下:
錄入excel測試表格,test.xls。
另存為.csv格式
創建sql*loader控制文件test.ctl,內容如下:
Load data
Infile 'c: est.csv'
insert Into table test Fields terminated by ','(column1,column2,column3,column4,column5)
需要將數據文件拷貝到對應位置
到資料庫中建立對應的測試表test
create table test (
column1 Varchar2(10),
column2 Varchar2(10),
column3 Varchar2(10),
column4 Varchar2(10),
column5 Varchar2(10)
)
執行導入命令
Sqlldr userid = system/manager control='C: est.ctl'
導入成功!
附: Sqlldr的函數關鍵字說明:
Userid --oracle用戶名 userid = username/password
Control --控制文件名稱 control = 'e:insert.ctl'
Log --日誌文件名稱 log = 'e:insert.log'
Bad --損壞文件名稱
Data --data file name
Discard --discard file name
Discardmax --number of discards to allow(默認全部)
Skip --導入時跳過的記錄行數(默認0)
Load --導入時導入的記錄行數(默認全部)
Errors --允許錯誤的記錄行數(默認50)
ctl文件內容說明:
Load data
Infile 'e: est.csv' --數據源文件名稱
Append|insert|replace --append在表後追加insert插入空表replace替代原有內容
Into table test --要導入的資料庫表名稱
[when id = id_memo] --過濾條件
Fields terminated by',' --欄位分隔符
(id,name,telphone) --欄位名稱列表
說明:
這種方法的好處是sql*loader是oracle自帶軟體,無需安裝額外的軟體.缺點是操作比較麻煩點,而且如果表列數很多的話,輸入欄位名稱列表會比較麻煩,適合導入大量數據.
方法一
打開excel給需要拷貝的數據增加一個空的起始列 , 選中所要更新的數據,ctr+c
打開PL SQl Developer
輸入select * from tab_name for update,按F8運行
打開鎖,此時記錄集處於可以編輯的狀態,
點擊選中整行, ctrl+v,commit,大功告成
方法很簡單:
點擊tools->text importer
在Data from txtfile 頁面選擇要導入的文件,在Data to Oracle 界面選擇要導入的庫和表即可
此時可以看到導入結果預覽,還可以查看生成的sql語句,並且對於列可以智能匹配,妙用多多.當然點擊Import 就OK了
說明:
這種方法簡單可靠,適合導入大量的數據,我猜測這個工具其實是後台根據excel的列生成了相應的sql語句,取代人工拼寫sql語句的過程,呵呵,就算生成的sql語句因為一些原因,不是很正確,也可以手工修改.這樣既自動又可以手動加以控制,我比較推薦這種方法.
前提是要安裝PL/Sql Developer
8. 如何用java把excel中的數據導進Oracle中
你可以使用開源的jexcel 的jar包裡面有 Java == excel 的相互讀寫。
導入到Java後再寫入資料庫就方便了
附上使用方法:
下面這些是在開發中用到的一些東西,有的代碼貼的不是完整的,只是貼出了關於操作EXCEL的代碼:
使用如下:
搭建環境
將下載後的文件解包,得到jxl.jar,放入classpath,安裝就完成了。
基本操作
一、創建文件
擬生成一個名為「test.xls」的Excel文件,其中第一個工作表被命名為
「第一頁」,大致效果如下:
Java代碼
1. package test;
2.
3. // 生成Excel的類
4. import java.io.File;
5.
6. import jxl.Workbook;
7. import jxl.write.Label;
8. import jxl.write.WritableSheet;
9. import jxl.write.WritableWorkbook;
10.
11. public class CreateExcel {
12. public static void main(String args[]) {
13. try {
14. // 打開文件
15. WritableWorkbook book = Workbook.createWorkbook( new File( " test.xls " ));
16. // 生成名為「第一頁」的工作表,參數0表示這是第一頁
17. WritableSheet sheet = book.createSheet( " 第一頁 " , 0 );
18. // 在Label對象的構造子中指名單元格位置是第一列第一行(0,0)
19. // 以及單元格內容為test
20. Label label = new Label( 0 , 0 , " test " );
21.
22. // 將定義好的單元格添加到工作表中
23. sheet.addCell(label);
24.
25. /**/ /*
26. * 生成一個保存數字的單元格 必須使用Number的完整包路徑,否則有語法歧義 單元格位置是第二列,第一行,值為789.123
27. */
28. jxl.write.Number number = new jxl.write.Number( 1 , 0 , 555.12541 );
29. sheet.addCell(number);
30.
31. // 寫入數據並關閉文件
32. book.write();
33. book.close();
34.
35. } catch (Exception e) {
36. System.out.println(e);
37. }
38. }
39.
編譯執行後,會產生一個Excel文件。
三、讀取文件
以剛才我們創建的Excel文件為例,做一個簡單的讀取操作,程序代碼如下:
Java代碼
1. package test;
2.
3. // 讀取Excel的類
4. import java.io.File;
5.
6. import jxl.Cell;
7. import jxl.Sheet;
8. import jxl.Workbook;
9.
10. public class ReadExcel {
11. public static void main(String args[]) {
12. try {
13. Workbook book = Workbook.getWorkbook( new File( " test.xls " ));
14. // 獲得第一個工作表對象
15. Sheet sheet = book.getSheet( 0 );
16. // 得到第一列第一行的單元格
17. Cell cell1 = sheet.getCell( 0 , 0 );
18. String result = cell1.getContents();
19. System.out.println(result);
20. book.close();
21. } catch (Exception e) {
22. System.out.println(e);
23. }
24. }
25.
程序執行結果:test
四、修改文件
利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的時候,除了打開文件的方式不同之外,
其他操作和創建Excel是一樣的。下面的例子是在我們已經生成的Excel文件中添加一個工作表:
Java代碼
1. package test;
2.
3. import java.io.File;
4.
5. import jxl.Workbook;
6. import jxl.write.Label;
7. import jxl.write.WritableSheet;
8. import jxl.write.WritableWorkbook;
9.
10. public class UpdateExcel {
11. public static void main(String args[]) {
12. try {
13. // Excel獲得文件
14. Workbook wb = Workbook.getWorkbook( new File( " test.xls " ));
15. // 打開一個文件的副本,並且指定數據寫回到原文件
16. WritableWorkbook book = Workbook.createWorkbook( new File( " test.xls " ),
17. wb);
18. // 添加一個工作表
19. WritableSheet sheet = book.createSheet( " 第二頁 " , 1 );
20. sheet.addCell( new Label( 0 , 0 , " 第二頁的測試數據 " ));
21. book.write();
22. book.close();
23. } catch (Exception e) {
24. System.out.println(e);
25. }
26. }
27.
其他操作
一、 數據格式化
在Excel中不涉及復雜的數據類型,能夠比較好的處理字串、數字和日期已經能夠滿足一般的應用。
1、 字串格式化
字元串的格式化涉及到的是字體、粗細、字型大小等元素,這些功能主要由WritableFont和
WritableCellFormat類來負責。假設我們在生成一個含有字串的單元格時,使用如下語句,
為方便敘述,我們為每一行命令加了編號:
Java代碼
1. WritableFont font1 =
2. new WritableFont(WritableFont.TIMES, 16 ,WritableFont.BOLD); ①
3.
4. WritableCellFormat format1 = new WritableCellFormat(font1); ②
5.
6. Label label = new Label( 0 , 0 ,」data 4 test」,format1) ③
7.
8.
9. 其中①指定了字串格式:字體為TIMES,字型大小16,加粗顯示。WritableFont有非常豐富的
10. 構造子,供不同情況下使用,jExcelAPI的java-doc中有詳細列表,這里不再列出。
11.
12. ②處代碼使用了WritableCellFormat類,這個類非常重要,通過它可以指定單元格的各種
13. 屬性,後面的單元格格式化中會有更多描述。
14.
15. ③處使用了Label類的構造子,指定了字串被賦予那種格式。
16.
17. 在WritableCellFormat類中,還有一個很重要的方法是指定數據的對齊方式,比如針對我們
18. 上面的實例,可以指定:
19.
20. // 把水平對齊方式指定為居中
21. format1.setAlignment(jxl.format.Alignment.CENTRE);
22.
23. // 把垂直對齊方式指定為居中
24. format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
二、單元格操作
Excel中很重要的一部分是對單元格的操作,比如行高、列寬、單元格合並等,所幸jExcelAPI
提供了這些支持。這些操作相對比較簡單,下面只介紹一下相關的API。
1、 合並單元格
Java代碼
1. WritableSheet.mergeCells( int m, int n, int p, int q);
2.
3. // 作用是從(m,n)到(p,q)的單元格全部合並,比如:
4. WritableSheet sheet = book.createSheet(「第一頁」, 0 );
5.
6. // 合並第一列第一行到第六列第一行的所有單元格
7. sheet.mergeCells( 0 , 0 , 5 , 0 );
合並既可以是橫向的,也可以是縱向的。合並後的單元格不能再次進行合並,否則會觸發異常。
3、用於Excel視圖的視圖子類化
為了在生成輸出文檔的過程中實現定製的行為,我們將繼承合適的抽象類。對於Excel,這包括提供一個 org.springframework.web.servlet.view.document.AbstractExcelView的子類,並實現 buildExcelDocument方法。
Java代碼
1. public class ViewExcel extends AbstractExcelView {
2.
3. public void buildExcelDocument(
4. Map model, HSSFWorkbook workbook,
5. HttpServletRequest request, HttpServletResponse response)
6. throws Exception {
7.
8. HSSFSheet sheet = workbook.createSheet("list");
9. sheet.setDefaultColumnWidth((short) 12);
10.
11.
12. HSSFCell cell = getCell(sheet, 0, 0);
13. setText(cell, "Spring Excel test");
14.
15. HSSFCellStyle dateStyle = workbook.createCellStyle();
16. dateStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
17. cell = getCell(sheet, 1, 0);
18. cell.setCellValue(new Date());
19. cell.setCellStyle(dateStyle);
20. getCell(sheet, 2, 0).setCellValue(458);
21.
22. HSSFRow sheetRow = sheet.createRow(3);
23. for (short i = 0; i < 10; i++) {
24. sheetRow.createCell(i).setCellValue(i * 10);
25. }
26.
27. }
28.
29. }
9. 在JAVA web開發中怎麼把Excel中的數據導入到oracle資料庫中
1.准備數據:在excel中構造出需要的數據
2.將excel中的數據另存為文本文件(有製表符分隔的)
3.將新保存到文本文件中的數據導入到pl*sql中
在pl*sql中選擇tools--text importer,在出現的窗口中選擇Data from Textfile,然後再選擇Open data file,
在彈出的文件選擇框中選中保存有數據的文本文件,此時將會看到data from textfile中顯示將要導入的數據
4.在configuration中進行如下配置
注:如果不將Name in header勾選上會導致欄位名也當做記錄被導入到資料庫中,從而導致數據錯誤
5.點擊data to oracle,選擇將要導入數據的表,並在fields中將文本中的欄位與表中的欄位進行關聯
6.點擊import按鈕進行導入
7.查看導入的數據
OK,至此數據導入成功。
10. 如何用java把excel中的數據導進Oracle中
先從這http://nchc.dl.sourceforge.net/sourceforge/jexcelapi/jexcelapi_2_6_9_1.4.zip
下載execl的jar包,解壓將裡面的jxl.jar導入項目
代碼實現從execl取得數據,可以根據你的需要去改動,簡單實例,希望對你有所幫助
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class Excel {
public static boolean inSertPeople(List<People> list){
String sDBDriver = "oracle.jdbc.driver.OracleDriver";
String sConnStr = "jdbc:oracle:thin:@192.168.0.58:1521:資料庫名稱";
Connection con = null;
PreparedStatement ps = null;
int total=0;
boolean suc=false;
try
{
Class.forName(sDBDriver);
con = DriverManager.getConnection(sConnStr,"用戶名","密碼");
ps = con.prepareStatement("insert into 表名(people_name,people_phone) values(?,?);");
for(People p:list){
ps.setString(1,p.getName());
ps.setString(2,p.getPhone());
total+=ps.executeUpdate();
}
suc=true;
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try {
if(ps!=null)
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
}
try {
if(con!=null)
con.close();
} catch (SQLException e) {
}
return suc;
}
}
public static void main(String[] args){
try
{
InputStream is = new FileInputStream("xml的本地路徑");
jxl.Workbook rwb = Workbook.getWorkbook(is);
Sheet rs = rwb.getSheet(0); //得到第一個sheet
int rows=rs.getRows();//得到多少列,可以設為有數據的列數
int columns=rs.getColumns();//得到多少行,可以設為有數據的行數
Cell[] cells=null;
String cellstr=null;
List<People> peoples=new ArrayList();
People people=null;
for(int i=2;i<columns;i++){
people=new People();//設置一個新的對象
cells=rs.getColumn(i);//得到第三行的所有單元格
cells[0]=rs.getCell(0,i);//得到第三行第一列的數據,存的是name
cells[1]=rs.getCell(1,i);//得到第三行第二列的數據,存的是phone
people.setName(cells[0].getContents());
people.setPhone(cells[1].getContents());
peoples.add(people);//將execl中的數去全部轉化為放people的集合
}
//插入資料庫
inSertPeople(peoples);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
class People{
private String name;
private String phone;
public void setName(String name){
this.name=name;
}
public void setPhone(String phone){
this.phone=phone;
}
public String getName(){
return this.name;
}
public String getPhone(){
return this.name;
}
}