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

📄 excelview.java

📁 eclipse java/jsp 航空管理系统
💻 JAVA
字号:
package zhangchunliang.model;

import jxl.Workbook;
import jxl.write.WritableWorkbook;
import jxl.write.WritableSheet;
import jxl.write.Label;
import jxl.write.WritableFont;
import jxl.write.WritableCellFormat;
import jxl.format.UnderlineStyle;
import jxl.format.Colour;
import java.io.OutputStream;
import javax.servlet.http.HttpServletResponse;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import zhangchunliang.model.DBHandler;

/**
 * @author			:张春亮|zhangchunliang@neusoft.com
 * @version			:0.1
 *
 * <p>Description	:该类用于实现将一览表导出到excel</p>	
 * <p>Project		:CIQMS</p>
 * <P>Company		:东软股份国际合作事业部</p>
 * <p>CreateDate	:2005-4-26</p>
 */

public class ExcelView {
	
	/*
     * name:         showView()
     * Description:  用于将指定的记录集导出到excel文件并且将该文件下载到客端
     * @param		 HttpServletResponse类型用将excel文件返回给客户;ResultSet类型用于
     * 				 传递要导出的记录集。
     * @return       无 
     */
	
	public void showView(HttpServletResponse response,ResultSet dataSource){
		
		try{
			OutputStream outs=response.getOutputStream();
			/* 设置response的Header,以实现下载功能 */
			response.setHeader("Content-disposition",
					"attachment; filename=ExcelView.xls");
			
			response.setContentType("application/msexcel");
			/* 创建一个excel文件 */
			WritableWorkbook wwb=Workbook.createWorkbook(outs);
			/* 创建一个工作表 */
			WritableSheet ws=wwb.createSheet("Sheet1",0);
			/* 获得指定记录集的结构信息 */
			ResultSetMetaData rsmd=dataSource.getMetaData();
			/* 获得指定记录集的字段数 */
			int cols=rsmd.getColumnCount();
			/* 设置单元格的字体和格式 */
			WritableFont wf=new WritableFont(WritableFont.ARIAL,13,
					WritableFont.BOLD,false,
					UnderlineStyle.NO_UNDERLINE,Colour.BLACK);
			WritableCellFormat wcf=new WritableCellFormat(wf);
			wcf.setBackground(Colour.GRAY_25);
			wcf.setShrinkToFit(true);
			/* 将字段名写到excel文件中 */
			for(int i=1;i<=cols;i++){
				
				Label label=new Label(i-1,0,rsmd.getColumnName(i),wcf);
				ws.addCell(label);
			}
			
			wf=null;
			wcf=null;
			/* 设置单元格的字体和格式 */
			wf=new WritableFont(WritableFont.TIMES,10,
					WritableFont.NO_BOLD,false,
					UnderlineStyle.NO_UNDERLINE,Colour.BLACK);
			wcf=new WritableCellFormat(wf);
			wcf.setBackground(Colour.WHITE);
			wcf.setShrinkToFit(true);
			int row=1;
			/* 将指定的记录集中的数据按行写入到excel文件中 */
			while(dataSource.next()){
				String str=""+row+": ";
				for(int i=1;i<=cols;i++){
					Label label=new Label(i-1,row,dataSource.getString(i),wcf);
					ws.addCell(label);
				
				}
				row++;
			}

			
			wwb.write();
			wwb.close();
			
		}catch(Exception e){
			e.printStackTrace();
		}
			
	}
	
	/*
     * name:         getViewResultSet
     * Description:  用于取得指定表的记录集
     * @param		 String类型用于传递表名
     * @return       ResultSet类型用于返回记录集 
     */
	
	public ResultSet getViewResultSet(String targetTable){
		DBHandler dbHandler=null;
		ResultSet rtRs=null;
		try{
			dbHandler=new DBHandler();
			rtRs=dbHandler.dbQuery(targetTable);
			
		}catch(SQLException e){
			return null;
		}
		
		return rtRs;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -