public class ExportUtil {
// fix 我项目中的实体类对象,path 导出文件的路径及文件名
public void exportFix(Fix fix, String path)
{
//创建一个工作簿对象
Workbook wb = null;
//本地的Excel
File file = new File("E:\\images\\fix.xls");
try {
//获取本地Excel
wb = jxl.Workbook.getWorkbook(file);
//输出文件名
String outFileName=path;
// jxl.Workbook 对象是只读的,所以如果要修改Excel,需要创建一个可读的副本,副本指向原Excel文件(即下面的new File(excelpath))
//WritableWorkbook如果直接createWorkbook模版文件会覆盖原有的文件
WritableWorkbook writeBook=Workbook.createWorkbook(new File(outFileName),wb);
//读取第一个sheet
WritableSheet sheet=writeBook.getSheet(0);
//setConten是我自定义函数,减少代码重复
setConten(0,1,fix.getUser().getDepartment().getDepName(), sheet);
setConten(1,1,fix.getLaboratory().getName(), sheet);
setConten(2,1,fix.getUser().getStuName(), sheet);
setConten(3,1,fix.getAddTime(), sheet);
setConten(4,1,fix.getDescribe(), sheet);
setConten(0,4,fix.getEquipmentName(), sheet);
setConten(1,4,String.valueOf(fix.getEquipmentId()), sheet);
setConten(2,4,fix.getModel(), sheet);
writeBook.write();
writeBook.close();
} catch (IOException e) {
e.printStackTrace();
}catch(WriteException e)
{e.printStackTrace();} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void setConten(int h,int l,String content ,WritableSheet sheet){
//读取将要修改的cell
WritableCell cell=sheet.getWritableCell(l, h);//(列,行)
//获取上一部cell的格式
jxl.format.CellFormat cf=cell.getCellFormat();
Label lable=new Label(l, h, content);
//将修改后的单元格格式设置成和原来一样的
lable.setCellFormat(cf);
//将修改后的cell放回sheet中
try {
sheet.addCell(lable);
} catch (WriteException e) {
e.printStackTrace();
}
}
}
希望对你有帮助