⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exportinfo.java

📁 一个简单的图书馆的管理系统,该系统主要是针对学校的图书馆而做的
💻 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 + -