java生成報表

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
 
public class ChartsXml {	
	/**
	 * @todo 構建pie圖 適用於 Pie3D.swf, Pie2D.swf
	 * @param dataSetList  List 裏面放List get(0) label  get(1)  value get(2) id
	 *            第一列對應label 第二列取值
	 * @param caption
	 *            標題
	 * @param subcaption
	 *            副標題
	 * @param isLink
	 *            是否增長連接 是則調用外部JavaScript:myJS(a,b,c). a:category; b:seriesName;
	 *            c:datavalue; myJS('','1級','400')
	 * @return
	 */
//	dataSetList 裏面放了list(0) list(1)
	public static String buildPieXml(List dataSetList, String caption,
		String subcaption, boolean isLink) {
		StringBuffer xmlData = new StringBuffer();
//		數據頭
		xmlData.append("<chart baseFont='宋體' baseFontSize='13' unescapeLinks='0' caption='"
						+ caption+"' subcaption='"+subcaption
						+ "'  bgColor='FFFFFF' bgAlpha='9' formatNumberScale='0' enableSmartLabels='1' enableRotation='0' bgRatio='0,100' bgAngle='360' showBorder='0' startingAngle='300' legendBorderAlpha  ='0' legendShadow ='0'    >");

		for (int i = 0; i < dataSetList.size(); i++) {
			List list = (List) dataSetList.get(i);//放了三個數據

			String link = "";
			if (isLink){
//				link 是否加上點擊觸發js函數
				link = " link=\\\"JavaScript:myJS('" + list.get(0) + "','" + list.get(1) + "',  '"
						+ list.get(2) + "');\\\" ";
			}
			
			
//			把小的list數據拿出來拼成set元素
			xmlData.append("<set    label='" + list.get(0)
					+ "' value='" + list.get(1) + "'  " + link + "/>");
		}
		
		
		xmlData.append("<styles><definition><style name='CaptionFont' type='font' size='12'/></definition><application><apply toObject='CAPTION' styles='CaptionFont' /></application></styles>");
		xmlData.append("</chart>");

		return xmlData.toString();
	}
	
	public static String buildXml(List dataSetList, String caption,
		String subcaption,String xAxisName,String yAxisName, boolean isLink) {
		StringBuffer xmlData = new StringBuffer();
		xmlData.append("<chart  baseFont='宋體'  showValues='0'   baseFontSize='13' unescapeLinks='0' caption='"
				+ caption+"' subcaption='"+subcaption
				+ "' xAxisName='"
				+ xAxisName
				+ "' yAxisName= '"
				+ yAxisName
				+ "'  bgColor='FFFFFF' bgAlpha='9' formatNumberScale='0' enableSmartLabels='1' enableRotation='0' bgRatio='0,100' bgAngle='360' showBorder='0' startingAngle='300' legendBorderAlpha  ='0' legendShadow ='0'    >");
		
		for (int i = 0; i < dataSetList.size(); i++) {
			List list = (List) dataSetList.get(i);
			
			String link = "";
			if (isLink){
					link = " link=\\\"JavaScript:myJS('" + list.get(0) + "','" + list.get(2) + "',  '"
					+ list.get(1) + "');\\\" ";
			}
				xmlData.append("<set   label='" + list.get(0)
				+ "' value='" + list.get(1) + "'  " + link + "/>");
		}
		xmlData.append("<styles><definition><style name='CaptionFont' type='font' size='12'/></definition><application><apply toObject='CAPTION' styles='CaptionFont' /></application></styles>");
		xmlData.append("</chart>");
		
		return xmlData.toString();
	}
}
相關文章
相關標籤/搜索