EXCEL 讀取 寫入檔案
//讀取
public void readInexcel(){
Workbook book;
try {
book = Workbook.getWorkbook(new File("d:/TEST.xls"));
List<String>list=new ArrayList<String>();
// 獲得第一個工作表物件
Sheet st = book.getSheet(0);
// 得到單元格
// System.out.println(st.getColumns());
// System.out.println(st.getRows());
for (int i=0;i<st.getColumns();i++){
for (int j=0;j<st.getRows();j++){
Cell c1 = st.getCell(i,j);
String name = c1.getContents().replace(" ", "");
if(name!=null&&!name.equals("")){
list.add(name);
}
if(list.size()>=2000){
userService.insertNickName(list);
list.clear();
}
}
}
book.close();
if(list!=null&&list.size()!=0){
userService.insertNickName(list);
list=null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//寫入
public static void writeExcel(String fileName){
WritableWorkbook wwb = null;try {
//首先要使用Workbook類的工廠方法建立一個可寫入的工作薄(Workbook)物件
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if(wwb!=null){
//建立一個可寫入的工作表
//Workbook的createSheet方法有兩個引數,第一個是工作表的名稱,第二個是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0);
//下面開始新增單元格
for(int i=0;i<10;i++){
for(int j=0;j<5;j++){
//這裡需要注意的是,在Excel中,第一個引數表示列,第二個表示行
Label labelC = new Label(j, i, "這是第"+(i+1)+"行,第"+(j+1)+"列");
try {
//將生成的單元格新增到工作表中
ws.addCell(labelC);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}
try {
//從記憶體中寫入檔案中
wwb.write();
//關閉資源,釋放記憶體
wwb.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
}