最代碼廣告位
ftssyang的gravatar頭像
ftssyang2016-03-31 15:11:06

easyui+jdbc+xml模板開發自動化生成報表的java工具

ps:看到有同學問了一下問題,做一下答復,該實現不是web項目,大家只需要將代碼集成到web項目中即可,原項目太大,不便上傳。還有 jar包自己找啊 呵呵

采用easyui+jdbc+xml模板生成報表 不用寫代碼 只要配置 模板就可以 模板支持easyui元素 屬性 超級簡單、可擴展, 目前開源的報表工具不能生成查詢條件在同一頁面,必須彈出框數據查詢信息 很不方便,商業的要好多錢。

1 報表界面配置xml 如下:

easyui+jdbc+xml模板開發自動化生成報表的java工具

2 引用sql語句

easyui+jdbc+xml模板開發自動化生成報表的java工具

3 生成界面如下  

頁面可以設置 寬度 查詢條件 每行顯示幾個元素  支持排序 等 詳細見代碼

easyui+jdbc+xml模板開發自動化生成報表的java工具

附件中少了 ExportExcel.java 類 代碼如下

package com.framework.core.common.util;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExportExcel {

	public static Workbook getWrokBook2007(List<Map<String, Object>> lists,
			String sheetName, LinkedHashMap<String, String> columns) {
		XSSFWorkbook book = new XSSFWorkbook();
		XSSFSheet sheet = book.createSheet(sheetName);
		if (org.apache.commons.collections.CollectionUtils.isNotEmpty(lists)) {
			writeExcelColumn(columns, sheet);
			writeExcelData(lists, sheet, columns);
		}
		return book;
	}
  

	private static void writeExcelData(List<Map<String, Object>> lists,
			XSSFSheet sheet, LinkedHashMap<String, String> columns) {
		int rowIndex = 1;
		for (Map<String, Object> map : lists) {
			XSSFRow row = sheet.createRow(rowIndex);
			int cellIndex = 0;
			for (Entry<String, String> entry : columns.entrySet()) {
				String key = entry.getKey();
				Object value = map.get(key);
				XSSFCell cell = row.createCell(cellIndex);
				if (null == (value)) {
					value = "";
				}
				cell.setCellValue(String.valueOf(value));
				cellIndex++;

			}

			rowIndex++;

		}
	}

	private static Map<String, String> writeExcelColumn(
			Map<String, String> columns, XSSFSheet sheet) {
		XSSFRow columnRow = sheet.createRow(0);
		int index = 0;
		for (Entry<String, String> entry : columns.entrySet()) {
			XSSFCell cell = columnRow.createCell(index);
			String key = entry.getKey();
			String column = columns.get(key);
			cell.setCellValue(column);
			index++;
		}
		return null;
	}
 
	
}
最代碼廣告位

打賞

文件名:report.rar,文件大小:13.163K下載
頂部客服微信二維碼底部
>掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
福彩3d组选020前后关系