📄 exportinfo.java
字号:
package librarymanagement.common;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.Vector;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import librarymanagement.vo.BookLendCountVo;
/**
* 导出文件类
* @author 虎兴龙
*
*/
public class ExportInfo {
public void writeExcelFile(String fileName,Vector chartData){
WritableWorkbook excelModel = null;
File file = new File(fileName);
try {
excelModel = Workbook.createWorkbook(file);
this.writeFileInExcel(excelModel,chartData);
} catch (IOException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
finally{
try {
excelModel.close();
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void writeFileInExcel(WritableWorkbook excelModel, Vector chartData) {
String sheetName="读者借阅书籍记录表";
WritableSheet writableSheet = excelModel.createSheet(sheetName, 0);
this.buildSheetHead(writableSheet,"读者借阅书籍情况统计");
Iterator dataIter = chartData.iterator();
int row =3;
while(dataIter.hasNext()){
BookLendCountVo vo =(BookLendCountVo)dataIter.next();
Vector v = new Vector ();
v.add(vo.getReader_id());
v.add(vo.getReader_name());
v.add(vo.getBook_id());
v.add(vo.getBook_name());
v.add(vo.getBorrow_date());
v.add(vo.getShouldReturnDate());
//System.out.println(v.elementAt(3).toString());
for(int i = 0;i<v.size();i++){
if(v.elementAt(i)==null){
v.setElementAt("", i);
}
}
for(int j = 0;j<3;j++){
try {
writableSheet.addCell(new Label(j, row, v.elementAt(j).toString()));
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
try{
writableSheet.mergeCells(3, row, 5,row);
writableSheet.addCell(new Label(3, row, v.elementAt(3).toString()));
writableSheet.mergeCells(6, row, 8,row);
writableSheet.addCell(new Label(6, row, v.elementAt(4).toString()));
writableSheet.mergeCells(9,row, 11,row);
writableSheet.addCell(new Label(9, row, v.elementAt(5).toString()));
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
row++;
}
try {
excelModel.write();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 建立表头
* @param writableSheet
* @param string
* @return
*/
private WritableSheet buildSheetHead(WritableSheet writableSheet, String string) {
sheetTitleSet(writableSheet,string,11,1);
WritableFont font = new WritableFont(WritableFont.COURIER,10,WritableFont.NO_BOLD);
WritableCellFormat headCellFormat = new WritableCellFormat(font);
try {
headCellFormat.setAlignment(Alignment.CENTRE);
headCellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
headCellFormat.setBorder(Border.ALL,BorderLineStyle.THIN);
} catch (WriteException e) {
e.printStackTrace();
}
Vector titleNames = new Vector();
titleNames.add("读者编号");
titleNames.add("读者姓名");
titleNames.add("书目编号");
titleNames.add("所借书目名称");
titleNames.add("借阅日期");
titleNames.add("归还日期");
for(int i = 0;i<3;i++){
try {
writableSheet.mergeCells(i, 2, i, 2);
Label titles = new Label(i,2,(String)titleNames.get(i),headCellFormat);
writableSheet.addCell(titles);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
try {
writableSheet.mergeCells(3, 2, 5,2);
Label title1 = new Label(3,2,(String)titleNames.get(3),headCellFormat);
writableSheet.addCell(title1);
writableSheet.mergeCells(6, 2, 8,2);
Label title2 = new Label(6,2,(String)titleNames.get(4),headCellFormat);
writableSheet.addCell(title2);
writableSheet.mergeCells(9, 2, 11,2);
Label title3 = new Label(9,2,(String)titleNames.get(5),headCellFormat);
writableSheet.addCell(title3);
//System.out.print(title3.getString());
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
return writableSheet;
}
/**
* Excel文档标题设置
* @param sheet
* @param title
* @param col
* @param row
* @return
*/
public WritableSheet sheetTitleSet(WritableSheet sheet,String title,int col,int row){
try {
sheet.mergeCells(0, 0, col, row);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
WritableFont titleFont = new WritableFont(WritableFont.ARIAL,25,WritableFont.BOLD);
WritableCellFormat titleformat = new WritableCellFormat(titleFont);
try {
titleformat.setAlignment(Alignment.CENTRE);
titleformat.setVerticalAlignment(VerticalAlignment.CENTRE);
Label title1 = new Label(0, 0, title// 设置的标题
, titleformat);
sheet.addCell(title1);
} catch (WriteException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return sheet;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -