JAVA直接操作excel
/**
* @Author:何云龍
* @Version: 2012-11-16 下午03:45:16
* @Description:
*/
import jxl.*;
import java.io.*;
import jxl.write.*;
/**
* <p>
* java讀取Excel表格,復制、更新Excel工作薄
* </p>
*/
public class Test {
public static void main(String[] args) {
jxl.Workbook rwb = null;
try {
// 構建Workbook對象 只讀Workbook對象
// 直接從本地文件創建Workbook
// 從輸入流創建Workbook
InputStream is = new FileInputStream("D://Book1.xls");
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();
// 獲取指這下單元格的對象引用
for (int i = 0; i < rsRows; i++) {
for (int j = 0; j < rsColumns; j++) {
Cell cell = rs.getCell(j, i);
System.out.print(cell.getContents() + " ");
}
System.out.println();
}
// 利用已經創建的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();
}
}
}