coding
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下载
最代码最近下载分享源代码列表最近下载
听雨楼 LV95月22日
月亮月亮星星
zuidm0621 LV34月25日
星星星星星星
xiegeping LV164月9日
太阳
ajh125 LV53月2日
月亮星星
chokyi LV22018年10月13日
星星星星
zjjhzjb LV112018年8月9日
月亮月亮星星星星星星
ftssyang LV82018年6月13日
月亮月亮
156336105 LV12018年6月5日
星星
feiyujianke LV12018年5月20日
星星
m719067455 LV202018年4月20日
太阳月亮
最代码最近浏览分享源代码列表最近浏览
1047920840 LV18月22日
星星
csgl1986 LV58月22日
月亮星星
百年变局8月6日
暂无贡献等级
java_root LV17月31日
星星
wenpeng182013 LV67月22日
月亮星星星星
chenghao4u LV87月19日
月亮月亮
questlab7月16日
暂无贡献等级
longkun7月15日
暂无贡献等级
qibodong LV137月11日
月亮月亮月亮星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友