queryexporter.java

来自「这是一个轻便的j2ee的web应用框架,是一个在多个项目中运用的实际框架,采用s」· Java 代码 · 共 78 行

JAVA
78
字号
/*
 * Created on 2004-4-21
 *
 */
package com.esimple.service.query;

import java.util.*;
import java.io.*;
import javax.servlet.http.HttpServletRequest;
import com.esimple.service.rbac.*;
import com.esimple.service.query.config.QueryConfig;
import com.esimple.service.query.config.QueryResultConfig;

/**
 * @author steven
 *
 */
public class QueryExporter {

	public String makeXlsFile(HttpServletRequest request,QueryConfig query, List list) throws Exception {
		StringBuffer buffer = new StringBuffer();
		
		java.util.Date date = new java.util.Date();
		long ld = date.getTime();
		String fileDir = request.getRealPath("/jsp/queryservice/xls");
		User user = (User)request.getSession().getAttribute(User.SESSION_KEY);
		
		String fileContextPath = user.getUserID() + ld +".xls";
		String fileName = fileDir + File.separator + fileContextPath;
		
		
		buffer.append("<html><head><meta http-equiv='Content-Language' content='zh-cn'><meta http-equiv='Content-Type' content='text/html; charset=gb2312'></head>");
		
		buffer.append("<table border='1' width='100%'>  <tr >");
		ArrayList results = query.getResults();
		for( int i=0;i< results.size();i++){
			QueryResultConfig result = (QueryResultConfig) results.get(i);
			//<td width="<%=result.getWidth()%>%"><%=result.getLabel()%></td>
			buffer.append("<td width='")
				  .append(result.getWidth())
				  .append("%'>")
				  .append(result.getLabel())
				  .append("</td>");
				  
		}	
		buffer.append("</tr>")	;
		
		for( int j=0;j< list.size();j++){
		   HashMap queryResult = (HashMap)list.get(j);
		   buffer.append("<tr>");
		   for( int k=0;k< results.size();k++){
			   QueryResultConfig result = (QueryResultConfig) results.get(k);
			   String resultName = result.getAlias();
			   String type = result.getType();
			   String align="";
			   if( type!= null){
				   if( type.equalsIgnoreCase("float") || type.equalsIgnoreCase("long")  )
				   align=" align='right'";
			   }
				buffer.append("<td")
				  .append(align)
				  .append(">")
				  .append(queryResult.get(resultName))
				  .append("</td>");
		   }
		   buffer.append("</tr>")	;
		}
		buffer.append("</table>");
		
		BufferedWriter writer = new BufferedWriter( new FileWriter(fileName) );
		writer.write(buffer.toString());
		writer.flush();
		writer.close();
		
		return fileContextPath;
	}
}

⌨️ 快捷键说明

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