?? jxlapi.txt
字號:
寫excle
//創(chuàng)建可寫入的Excel工作薄
jxl.write.WritableWorkbook book= Workbook.createWorkbook(new File("生成excel存放的路徑"));
//創(chuàng)建Excel工作表 參數(shù)1:工作表名稱 參數(shù)2:位置(第幾個)
jxl.write.WritableSheet ws = book.createSheet("Test Sheet 1", 0);
/// jxl.format.Colour 顏色
----------------------單元格簡單樣式----------------------------------------------------
/**
* 報表字符格式
* @param FontSize 字體大小
* @param isbold 是否是粗體
* @param FontColour 字體顏色
* @param BackColour 背景色
* @return
*/
public WritableCellFormat Font(int FontSize,boolean isbold,Colour FontColour,Colour BackColour){
WritableCellFormat format=null;
try {
WritableFont font =null;
if(isbold){
font =new WritableFont(WritableFont.TIMES, FontSize,
WritableFont.BOLD);
}else{
font =new WritableFont(WritableFont.TIMES, FontSize,
WritableFont.NO_BOLD);
}
if(FontColour!=null)
font.setColour(FontColour);
format = new WritableCellFormat(font);
format.setAlignment(jxl.format.Alignment.CENTRE);
format.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
if(BackColour!=null)
format.setBackground(BackColour);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.getInstance().print("------------->"+getClass());
e.printStackTrace(Log.getInstance().pw);
}
return format;
}
/**
* 報表數(shù)字格式 NumberFormat
* @param numberformat 數(shù)字顯示樣式(#.#)
* @param BackColour 背景色
* @return
*/
public WritableCellFormat Font(String numberformat,Colour BackColour){
WritableCellFormat format=null;
try {
NumberFormat nf = new NumberFormat(numberformat);
format = new WritableCellFormat(nf);
format.setAlignment(jxl.format.Alignment.CENTRE);
format.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
if(BackColour!=null)
format.setBackground(BackColour);
} catch (Exception e) {
e.printStackTrace();
Log.getInstance().print("------------->"+getClass());
e.printStackTrace(Log.getInstance().pw);
}
return format;
}
/**
* 數(shù)字格式 (NumberFormats.PERCENT_FLOAT %)
* @param df
* @param BackColour 背景色
* @return
*/
public WritableCellFormat Font(DisplayFormat df,Colour BackColour){
WritableCellFormat format=null;
try {
format = new WritableCellFormat(df);
format.setAlignment(jxl.format.Alignment.CENTRE);
format.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
if(BackColour!=null)
format.setBackground(BackColour);
} catch (Exception e) {
e.printStackTrace();
Log.getInstance().print("------------->"+getClass());
e.printStackTrace(Log.getInstance().pw);
}
return format;
}
-------------------------------------------------------------------
//行和列都從0開始計算
//設(shè)置行高 參數(shù)1:第幾行 參數(shù)2:高度
sheet.setRowView(0, 400);
//合并單元格 參數(shù)1:從第幾行 參數(shù)2:從第幾列 參數(shù)3:到第幾行 參數(shù)4:到第幾列
sheet.mergeCells(0, 0,5, 0);
//設(shè)置列寬 參數(shù)1:第幾列 參數(shù)2:寬度(注意:和設(shè)置行高的單位不一樣)
sheet.setColumnView(0, 20);
---------------------向單元格添加數(shù)據(jù)-------------------------------------------
//1.在單元格添加字符竄 參數(shù)1:行 參數(shù)2:列 參數(shù)3:單元格填寫的字符 參數(shù)4: 樣式
ws.addCell(new jxl.write.Label(1, 1,"", wcfN));
//2.在單元格添加數(shù)字
ws.addCell(new jxl.write.Number(1, 1, 3.1415926, wcfN));
//3.在單元格添加公式 例如公式:A1+B1
ws.addCell(new jxl.write.Formula(1, 1,"公式", wcfN));
//4.在單元格添加Boolean對象
ws.addCell(new jxl.write.Boolean(0, 2, false));
//5.添加DateTime對象
ws.addCell(new jxl.write.DateTime(0, 3, new java.util.Date()));
//添加帶有樣式的DateFormat對象
jxl.write.DateFormat df = new jxl.write.DateFormat("dd MM yyyy hh:mm:ss");
jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);
jxl.write.DateTime labelDTF = new jxl.write.DateTime(1, 3, new java.util.Date(), wcfDF);
ws.addCell(labelDTF);
//6.插入圖片
//圖片格式必須是png格式的
File fileImage=new File(System.getProperty("user.dir")+"/logo.png");
//從A1開始 跨2行3個單元格
WritableImage image=new WritableImage(0, 0,2,3,fileImage);
ws.addImage(image);
-------------------------------------------------------------------------------------
//寫入Exel工作表
wwb.write();
//關(guān)閉Excel工作薄對象
wwb.close();
==========================================================================
讀excle
//構(gòu)建Workbook對象, 只讀Workbook對象
InputStream is = new FileInputStream(sourcefile);
jxl.Workbook rwb = Workbook.getWorkbook(is);
//獲取第一張Sheet表
Sheet rs = rwb.getSheet(0);
---------------------------------------------
//獲取第一行,第一列的值
Cell c00 = rs.getCell(0, 0);
String strc00 = c00.getContents();
//獲取第一行,第二列的值
Cell c10 = rs.getCell(1, 0);
String strc10 = c10.getContents();
//獲取第二行,第二列的值
Cell c11 = rs.getCell(1, 1);
----------------------------------------------------------------
//返回工作?。╓orkbook)中工作表(Sheet)對象數(shù)組,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
Sheet[] sheets = rwb.getSheets();
· Sheet接口提供的方法
1. String getName()
獲取Sheet的名稱,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
String sheetName = rs.getName();
2. int getColumns()
獲取Sheet表中所包含的總列數(shù),示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
int rsColumns = rs.getColumns();
3. Cell[] getColumn(int column)
獲取某一列的所有單元格,返回的是單元格對象數(shù)組,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
Cell[] cell = rs.getColumn(0);
4. int getRows()
獲取Sheet表中所包含的總行數(shù),示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
int rsRows = rs.getRows();
5. Cell[] getRow(int row)
獲取某一行的所有單元格,返回的是單元格對象數(shù)組,示例子:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
Cell[] cell = rs.getRow(0);
6. Cell getCell(int column, int row)
獲取指定單元格的對象引用,需要注意的是它的兩個參數(shù),第一個是列數(shù),第二個是行數(shù),這與通常的行、列組合有些不同。
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
Cell cell = rs.getCell(0, 0);
//操作完成時,關(guān)閉對象,釋放占用的內(nèi)存空間
rwb.close();
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -