为html5 input date类型的标签赋值
function init_date(){
var now = new Date();
//格式化日,如果小于9,前面补0
var day = ("0" + now.getDate()).slice(-2);
//格式化月,如果小于9,前面补0
var month = ("0" + (now.getMonth() + 1)).slice(-2);
//拼装完整日期格式
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
//完成赋值
// alert(today);
$('#reportDt').val(today);
}
List<Map<String,Object>>的结果集怎么使用Java代码遍历以获取String,Object的值:
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
list.add(map);
for (Map<String, Object> m : list)
{
for (String k : m.keySet())
{
System.out.println(k + " : " + m.get(k));
}
}
监听radio 改变值的事件。
- $("input:radio[name='style']").change(function (){
- var opt=$("input:radio[name='style']:checked").val();//①
- $("#pic").removeClass();
- $("#pic").addClass("img"+opt);
- $("#tip").text($("input[name='style']:checked").next("label").text());//②
- $("#tip").css("color","red");
- })
echart图表例子:
function myEchart1(){
$.ajax({
type : 'post',
data : {
year : $('#f_year').val(),
code :$('#f_code').val()
},
//sync : false,//用于控制同步
dataType : 'json',
url : "B_Transport_Price/chartQueryList.do",
success : function(data) {
var data=data.data;
types = new Array();//类型,横坐标
var groupdts=['一月','二月','三月','四月','五月',
'六月','七月','八月','九月','十月','十一月','十二月']
series = new Array();
//准备绘图数据
for(var i=0; i<data.length;i++){
if(types.indexOf(data[i].F_TEXT)<0){//类型,获取图表中类型
types.push(data[i].F_TEXT);
}
}
for(var i=0; i<types.length;i++){ //获取每种类型中的数据
var subdata = new Array(0,0,0,0,0,0,0,0,0,0,0,0);
for(var j=0; j<data.length;j++){
if(types[i] == data[j].F_TEXT){
var k=parseInt(data[j].F_MONTH);
subdata[k]=data[j].F_PRICE;
}
}
var subserie ={
name : types[i],
type : 'line',
//center: ['40%', '30%'],
data : subdata
};
series.push(subserie);
}
//开始处理绘图
require.config({paths : {echarts : './assets/echarts'}});
//注意保持按需加载结构定义图表路径 // 回调函数
require([ 'echarts', 'echarts/chart/line', 'echarts/chart/bar' ],function (ec) {
// 加载图表
var myChart = ec.init($("#myEchart1")[0]);
var option = {
// 图表标题
title : {
text : "运价管理图表", // 正标题
link : "", // 正标题链接 点击可在新窗口中打开
x : "center", // 标题水平方向位置
subtext : "", // 副标题
sublink : "", // 副标题链接
// 正标题样式
textStyle : {
fontSize : 12,
color:'blue',
}
},
// 数据提示框配置
tooltip : {
trigger : 'axis' // 触发类型,默认数据触发,见下图,可选为:'item' | 'axis'
// 其实就是是否共享提示框
},
// 图例配置
legend : {
data : types, // 这里需要与series内的每一组数据的name值保持一致
orient: 'horizontal', // 布局方式,默认为水平布局,可选为:// 'horizontal' ¦ 'vertical'
padding: 8,
x : "center",
y : "bottom"
},
grid: {
x:60,
y:30,
x2:30,
y2:60,
containLabel: true
},
calculable : true,
// 轴配置
xAxis : [ {
type : 'category',
boundaryGap : false,
data : groupdts,
//name : "日期"
} ],
// Y轴配置
yAxis : [ {
type : 'value',
splitArea : {
show : true
},
//name : "数值"
} ],
// 图表Series数据序列配置
series : series
}
myChart.setOption(option);
});
},
error: function (jqXHR, textStatus, errorThrown) {
ajaxError(jqXHR,textStatus,errorThrown)
}
});
}
导出excel操作
1.获取Excel模板,//发布部署系统之后的excelTemplatePath路径
protected HSSFWorkbook getHSSFWorkbook(HttpServletRequest request, String xlsName) throws IOException {
String excelTemplateFile = getXlsTemplatePath(request) + xlsName + ".xls";
HSSFWorkbook work = new HSSFWorkbook(new FileInputStream(excelTemplateFile));
return work;
}
protected String getXlsTemplatePath(HttpServletRequest request) throws IOException {
String excelTemplatePath = request.getSession().getServletContext().getRealPath("/");
excelTemplatePath = excelTemplatePath + "excelTemplate/";
return excelTemplatePath ;
}
2.获取Excel模板数据
Map<String, String> map = new HashMap();
HSSFWorkbook work = this.getHSSFWorkbook(request, reportStat01Xls);//获取表格模板
HSSFSheet sheet = work.getSheetAt(0);
HSSFRow row = sheet.getRow(0);//表头
HSSFCell cell = row.getCell(0);
map.put("head_0", cell.getStringCellValue());
row = sheet.getRow(2);
for (int i = 0; i < 23; i++) {
cell = row.getCell(i);
if (i < 10) {
map.put("col_0" + i, cell.getStringCellValue());
} else {
map.put("col_" + i, cell.getStringCellValue());
}
}
3.更新表格模板
HSSFWorkbook work = this.getHSSFWorkbook(request, reportStat01Xls);
HSSFSheet sheet = work.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
updateHeadCommonTemplate(request, row);
row = sheet.getRow(2);
updateColCommonTemplate(request, row);
this.updateXlsTemplatePath(request, work, reportStat01Xls);
3.1更新表头第一行
private void updateHeadCommonTemplate(HttpServletRequest request, HSSFRow row) {
Enumeration<String> enu = request.getParameterNames();
Map<String, String> map = new TreeMap();// 按字段名进行排序,对应表格顺序
while (enu.hasMoreElements()) {
String key = enu.nextElement();
if (key.startsWith("head")) {// 指定的列名开头head_0
map.put(key, request.getParameter(key));
}
}
// 替换原来excel表头名字
int i = 0;
for (Map.Entry<String, String> entry : map.entrySet()) {
HSSFCell cell = row.getCell(i);
String val = entry.getValue();
if (StringUtils.isNotBlank(val)) {
cell.setCellValue(val);
}
i++;
}
}
3.2更新表头第二行
private void updateColCommonTemplate(HttpServletRequest request, HSSFRow row) {
Enumeration<String> enu = request.getParameterNames();
Map<String, String> map = new TreeMap();// 按字段名进行排序,对应表格顺序
while (enu.hasMoreElements()) {
String key = enu.nextElement();
if (key.startsWith("col")) {// 指定的列名开头col_01
map.put(key, request.getParameter(key));
}
}
// 替换原来excel表头名字
int i = 0;
for (Map.Entry<String, String> entry : map.entrySet()) {
HSSFCell cell = row.getCell(i);
String val = entry.getValue();
if (StringUtils.isNotBlank(val)) {
cell.setCellValue(val);
}
i++;
}
}
4 更新模板数据后重写Excel文件
protected void updateXlsTemplatePath(HttpServletRequest request,HSSFWorkbook work,String xlsName) throws IOException {
String excelTemplateFile = getXlsTemplatePath(request) + xlsName + ".xls";
OutputStream os = new FileOutputStream(excelTemplateFile);
work.write(os);
IOUtils.closeQuietly(os);
}
5,填充Excel表格数据
@ResponseBody
@RequestMapping("/reportStat01Xls")
public void reportStat01Xls(HttpServletRequest request, HttpServletResponse response) throws FileNotFoundException, IOException {
Map<String, String> cacheExport = (Map<String, String>) request.getSession().getAttribute(reportStat01Xls);
HSSFWorkbook work = this.getHSSFWorkbook(request, reportStat01Xls);
List<Map<String, Object>> dataList = this.commService.findBySql(cacheExport.get("sql"));
this.buildCustField01(dataList);
HSSFSheet sheet = work.getSheetAt(0);
// sheet.getRow(1).getCell(11).setCellValue(cacheExport.get("statDate"));//
// 统计时间范围
String fieldNames[] = { "F_DRIVERNAME", "F_QUALIFICATIONID", "F_BIZCERTDATE", "F_BIZCERTORG", "F_VEHICLEID", "CARLAND", "F_BIZCERTID",
"F_QUALIFICATIONDATE", "F_QUALIFICATIONORG", "VEHICLEUNIT", "F_YINGYUNZID", "F_YINGYUNZDATE", "F_YINGYUNZORG", "F_CARGOOWNERNAME",
"F_LOADINGADDR", "F_OVERLIMITED", "F_OVERRATE", "F_PUNISHTIME", "F_OEID", "F_PUNISHAMOUNT", "F_PUNISHSCORE", "F_EXECUTEDESC", "F_EXECUTETEL" };
this.buildSheet(sheet, 3, 0, fieldNames, dataList);
this.downloadXlsFile(response, work);
}
5.1格式化表格数据
private void buildCustField01(List<Map<String, Object>> dataList) {
DecimalFormat dmf = new DecimalFormat("0.00");
for (Map<String, Object> row : dataList) {// 转化处理
Object F_OVERLIMITED = row.get("F_OVERLIMITED");
Object F_WEIGHTLIMITED = row.get("F_WEIGHTLIMITED");
if (F_OVERLIMITED != null) {
row.put("F_OVERLIMITED", "超重" + dmf.format(((Number) F_OVERLIMITED).doubleValue() / 1000) + "吨");
if (F_WEIGHTLIMITED != null) {
row.put("F_OVERRATE", dmf.format(((Number) F_OVERLIMITED).doubleValue() * 100 / ((Number) F_WEIGHTLIMITED).doubleValue()));
}
}
if (row.get("F_BIZERTDATE") != null) {
row.put("F_BIZERTDATE", sdf.format((Date) row.get("F_BIZERTDATE")));
}
if (row.get("F_QUALIFICATIONDATE") != null) {
row.put("F_QUALIFICATIONDATE", sdf.format((Date) row.get("F_QUALIFICATIONDATE")));
}
if (row.get("F_YINGYUNZDATE") != null) {
row.put("F_YINGYUNZDATE", sdf.format((Date) row.get("F_YINGYUNZDATE")));
}
if (row.get("F_PUNISHTIME") != null) {
row.put("F_PUNISHTIME", sdf.format((Date) row.get("F_PUNISHTIME")));
}
}
5.2指定Excel行填充数据
protected void buildSheet(HSSFSheet sheet, int startRow, int startCol, String fieldNames[], List<Map<String, Object>> dataList) {
int orignStartCol = startCol;
for (Map<String, Object> map : dataList) {
HSSFRow row = sheet.createRow(startRow);
for (String fieldName : fieldNames) {
Object obj = map.get(fieldName);
if (obj != null) {
HSSFCell cell = row.createCell(startCol);
String val = obj.toString();
cell.setCellValue(val);
}
startCol++;
}
startCol = orignStartCol;
startRow++;
}
}
5.3下载Excel文件
protected void downloadXlsFile(HttpServletResponse response, HSSFWorkbook work) throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
work.write(bos);
this.downloadXlsFile(response, bos.toByteArray());
}
list操作获取一个list的数据添加到另一个list里面去。
List<Map<String, Object>> list = this.commService.findBySql(selNo);
List<Map<String, Object>> ExcelList=new ArrayList<Map<String, Object>>();
for (Map<String, Object> m : list)
{
for (String k : m.keySet())
{
if(StringUtils.equals(k, "F_CHECKNO")) {
String chkNo=m.get(k).toString();
String sql="select * from Oefullinfo where F_CHECKNO='"+chkNo+"'";
List<Map<String, Object>> listTemp = this.commService.findBySql(sql);
ExcelList.add(listTemp.get(0));
}
}
}
protected void downloadXlsFile(HttpServletResponse response, byte[] bt) throws IOException {
downloadFile(response, bt, ".xls");
}
protected void downloadFile(HttpServletResponse response, byte[] bt, String ext) throws IOException {
String fileName = new Date().getTime() + ext;
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
OutputStream os = response.getOutputStream();
os.write(bt);
os.flush();
os.close();
}