2018年7,8月javaweb开发总结

为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 改变值的事件。

  1. $("input:radio[name='style']").change(function (){
  1. var opt=$("input:radio[name='style']:checked").val();//
  1. $("#pic").removeClass();
  2. $("#pic").addClass("img"+opt);
  3. $("#tip").text($("input[name='style']:checked").next("label").text());//
  4. $("#tip").css("color","red");
  5. })

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();
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值