package JExcelTest01;
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.junit.Test;
public class JUnit01 {
@Test
public void CreateFileTest01() {//创建xls
try{
WritableWorkbook book = Workbook.createWorkbook(new File("d:/test.xls")) ;
WritableSheet sheet = book.createSheet("第一页",0) ;//创建第一页
WritableSheet sheet2 = book.createSheet("第二页",1) ;//创建第二页
Label label = new Label(0,0,"test") ;
sheet.addCell(label) ;//第一页第一行第一列加入label
jxl.write.Number number = new jxl.write.Number(1,0,23.23) ;
sheet.addCell(number) ;//第一页第一行第二列加入number数据
sheet2.addCell(new Label(0,0,"第二页测试数据")) ;//第二页第一行第一列加入label数据
book.write();
book.close();
}catch(Exception e){
e.printStackTrace() ;
}
}
@Test
public void ReadFileTest01(){//读取xls
try {
Workbook book = Workbook.getWorkbook(new File("d:/test.xls")) ;
Sheet sheet = book.getSheet(0) ;//获得第一个工作簿的对象
Cell cell = sheet.getCell(1,0) ;
String result = cell.getContents() ;
System.out.println(result);
book.close() ;
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Test
public void updateExcel(){//修改xls
try{
Workbook wb = Workbook.getWorkbook(new File("d:/test.xls")) ;
WritableWorkbook book = Workbook.createWorkbook(new File("d:/test.xls"),wb) ;
WritableSheet sheet = book.createSheet("第二页",1) ;
sheet.addCell(new Label(0,0,"第二页测试数据")) ;
book.write() ;
book.close() ;
}catch(Exception e){
e.printStackTrace() ;
}
}
@Test
public void formatExcel(){//格式化xls
try {
Workbook wb = Workbook.getWorkbook(new File("d:/test.xls")) ;
WritableWorkbook book = Workbook.createWorkbook(new File("d:/test.xls"),wb) ;
//字体为times字号为16,加粗显示
WritableFont font1 = new WritableFont(WritableFont.TIMES, 16,WritableFont.BOLD) ;
WritableCellFormat format1 = new WritableCellFormat(font1) ;
//format1.setAlignment(jxl.format.Alignment.CENTRE) ;//水平对齐方式设置为居中
//format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE) ;//垂直对齐方式设置为居中
Label label = new Label(0,0,"wuhaixu",format1) ;
book.getSheet(0).addCell(label) ;//获得第一页的第一行第一列修改为指定格式的字符串"wuhaixu"
book.write() ;
book.close() ;
} catch (Exception e) {
// TODO: handle exception
}
}
@Test
public void mergeCell(){//合并单元格
try {
Workbook wb = Workbook.getWorkbook(new File("d:/test.xls")) ;
WritableWorkbook book = Workbook.createWorkbook(new File("d:/test.xls"),wb) ;
//WritableSheet sheet = book.createSheet("第三页",2) ;
WritableSheet sheet = book.getSheet(0) ;
sheet.mergeCells(0,0,1,0) ;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace() ;
}
}
@Test
public void rowColumnOperation(){//合并单元格
try {
Workbook wb = Workbook.getWorkbook(new File("d:/test.xls")) ;
WritableWorkbook book = Workbook.createWorkbook(new File("d:/test.xls"),wb) ;
WritableSheet sheet = book.getSheet(0) ;
sheet.setRowView(0,200) ;
sheet.setColumnView(0, 200) ;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace() ;
}
}
@Test
public void getData(){//把excel表格中的数据打印出来
try {
Workbook book = Workbook.getWorkbook(new File("D:/test.xls")) ;
Sheet sheet = book.getSheet(0) ;
System.out.println(sheet.getSettings().getDefaultColumnWidth());//获得默认列宽
int column = sheet.getColumns() ;//获得列数
int row = sheet.getRows() ;//获得行数
for(int i=0;i<row;i++){
for(int j=0;j<column;j++){
Cell cell = sheet.getCell(j, i) ;
String result = cell.getContents() ;
System.out.print(result);
System.out.print("\t");
}
System.out.println();
}
book.close() ;
} catch (Exception e) {
// TODO: handle exception
}
}
}