java_excel_匯入_匯出
新增環境:jxl.jar
java讀取excel檔案程式碼:
----------------------------------------------------------------------------------------
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
/**讀取Excel檔案的內容
* @param file 待讀取的檔案
* @return
*/
public static String readExcel(File file){
StringBuffer sb = new StringBuffer();
Workbook wb = null;
try {
//構造Workbook(工作薄)物件
wb=Workbook.getWorkbook(file);
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(wb==null)
return null;
//獲得了Workbook物件之後,就可以通過它得到Sheet(工作表)物件了
Sheet[] sheet = wb.getSheets();
if(sheet!=null&&sheet.length>0){
//對每個工作表進行迴圈
for(int i=0;i<sheet.length;i++){
//得到當前工作表的行數
int rowNum = sheet[i].getRows();
for(int j=0;j<rowNum;j++){
//得到當前行的所有單元格
Cell[] cells = sheet[i].getRow(j);
if(cells!=null&&cells.length>0){
//對每個單元格進行迴圈
for(int k=0;k<cells.length;k++){
//讀取當前單元格的值
String cellValue = cells[k].getContents();
sb.append(cellValue+" ");
}
}
sb.append(" ");
}
sb.append(" ");
}
}
//最後關閉資源,釋放記憶體
wb.close();
return sb.toString();
}
----------------------------------------------------------------------------------------
java將資料匯入excel程式碼:
----------------------------------------------------------------------------------------
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
/**生成一個Excel檔案
* @param fileName 要生成的Excel檔名
*/
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();
}
}
}
----------------------------------------------------------------------------------------