JXL是java操作Excel的第三方库之一,功能很强大。这里简单把自己的demo贴出来学习下。
先是保存Excel
public void saveExcel(){
String excelname = "c:/103312班学生信息.xls" ;
String worksheet = "103312班学生信息" ;//输出的excel文件工作表名
String[] title = { "学号" ,"姓名" ,"年龄" ,"电话号码" };//excel工作表的标题
WritableWorkbook workbook;
try
{
OutputStream os= new FileOutputStream( excelname);
workbook=Workbook. createWorkbook( os);
WritableSheet sheet = workbook.createSheet( worksheet, 0);
jxl.write.Label label = null;
for ( int i=0; i< title. length; i++)
{
//Label(列号,行号 ,内容 )
label = new jxl.write.Label( i, 0, title[ i]);
sheet.addCell( label);
}
//添加数字
jxl.write.Number number = new jxl.write.Number(0, 1, 103201);
sheet.addCell( number);
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES ,10,WritableFont. BOLD, true);
jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat( wf);
label = new jxl.write.Label(1,1, "张伟" ,wcfF );
sheet.addCell( label);
number = new jxl.write.Number(2, 1, 18);
sheet.addCell( number);
//合并单元格
sheet.mergeCells(3,1,4,1); //左上角到右下角
wcfF = new jxl.write.WritableCellFormat( wf);
wcfF.setAlignment(jxl.format.Alignment. CENTRE);
label = new jxl.write.Label(3,1,"13457364217" ,wcfF );
sheet.addCell( label);
workbook.write();
workbook.close();
System. out.println( "Excel创建成功" );
} catch(Exception e){
e.printStackTrace();
System. out.println( "创建Excel失败" );
}
}
接着是打开Excel,并读取其中的内容
public void openExcel(){
String excelname = "c:/103312班学生信息.xls" ;
try {
InputStream in= new FileInputStream( excelname);
Workbook workbook = Workbook. getWorkbook( in);
Sheet sheet = workbook.getSheet(0);
System. out.println( sheet.getName());
for ( int i = 0; i < sheet.getColumns(); i++) {
for ( int j = 0; j < sheet.getRows(); j++) {
Cell cell = sheet.getCell( i, j);
System. out.print( cell.getContents() + " " );
}
}
workbook.close();
} catch (Exception e) {
e.printStackTrace();
System. out.println( "Excel打开失败" );
}
}
更多操作美化方法可参考JXL官方文档。