1 Java导出Excel文件

function excelOut(){
  window.location.href="../getFileToExcel/"+taskId;
}

String taskId = getPara(0);
   // 获取数据
   List<Taskorderuser> list = ts.getTaskDetailByTaskId(taskId);

// excel标题
   String[] title = { "手机号", "类别", "发送时间"};

// excel文件名
   String fileName = "任务详情表" + System.currentTimeMillis() + ".xls";

// sheet名
   String sheetName = "任务详情表";
   String[][] content = new String[list.size()][];
   for (int i = 0; i < list.size(); i++) {
    content[i] = new String[title.length];
    Taskorderuser tk = list.get(i);
    content[i][0] = tk.getTelephone();
    content[i][1] = tk.getCommunication();
   
    content[i][2] = DateUtil.getLongToDate(tk.getSendTime());
    
   }

// 创建HSSFWorkbook
   HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName, title,
     content, null);

try {
    
     try {
 
      String userAgent = getRequest().getHeader("USER-AGENT");
      //String finalFileName = null;
               if(StringUtils.contains(userAgent, "MSIE")){//IE浏览器
                fileName = URLEncoder.encode(fileName,"UTF8");
               }else if(StringUtils.contains(userAgent, "Mozilla")){//google,火狐浏览器
                fileName = new String(fileName.getBytes(), "ISO8859-1");
               }else{
                fileName = URLEncoder.encode(fileName,"UTF8");//其他浏览器
              }
     
        System.out.println(fileName);
              } catch (UnsupportedEncodingException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
              
     getResponse().setContentType("application/vnd.ms-excel");
     getResponse().setHeader("Content-Disposition", "attachment;filename="+ fileName);
           getResponse().addHeader("Pargam", "no-cache");
           getResponse().addHeader("Cache-Control", "no-cache");
    OutputStream os = getResponse().getOutputStream();
    wb.write(os);
    os.flush();
    os.close();
   } catch (Exception e) {
    e.printStackTrace();
   }

2 ExcelUtil类

package com.mms.service;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ExcelUtil {

/**
     * 导出Excel
     * @param sheetName sheet名称
     * @param title 标题
     * @param values 内容
     * @param wb HSSFWorkbook对象
     * @return
     */
    public static HSSFWorkbook getHSSFWorkbook(String sheetName,String []title,String [][]values, HSSFWorkbook wb){

// 第一步,创建一个HSSFWorkbook,对应一个Excel文件
        if(wb == null){
            wb = new HSSFWorkbook();
        }

// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet
        HSSFSheet sheet = wb.createSheet(sheetName);

// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制
        HSSFRow row = sheet.createRow(0);

// 第四步,创建单元格,并设置值表头 设置表头居中
        HSSFCellStyle style = wb.createCellStyle();
        //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
        //style.setAlignment(align);
        //声明列对象
        HSSFCell cell = null;

//创建标题
        for(int i=0;i<title.length;i++){
            cell = row.createCell(i);
            cell.setCellValue(title[i]);
            cell.setCellStyle(style);
        }

//创建内容
        for(int i=0;i<values.length;i++){
         
            row = sheet.createRow(i + 1);
           
            for(int j=0;j<values[i].length;j++){
             //System.out.println("-----"+values.length+" "+values[i].length+"  "+values[i][j]);
                //将内容按顺序赋给对应的列对象
                row.createCell(j).setCellValue(values[i][j]);
            }
        }
        return wb;
    }
}



java导出excel文件(标题为中文乱码)相关推荐

  1. Java导出excel文件以.xlsx后缀结尾,可设置部分单元格只读

    前言 最近在做一个小项目,有个模块的功能涉及到excel的导入导出,并且要求对导出的excel文件部分列和单元格设置为只读不可更改,在网上到处查找了一番资料,结合自己的想法,发现也并不难,这里整理记录 ...

  2. java读取.properties文件及解决中文乱码问题

    java读取.properties文件及解决中文乱码问题 参考文章: (1)java读取.properties文件及解决中文乱码问题 (2)https://www.cnblogs.com/helloq ...

  3. Java导出excel文件

    需求 将每个xmpp机房的在线/离线用户信息导出到Excel表格中(定时任务+网页按钮),并在网页上提供下载按钮进行下载. 效果预览 导出文件效果 点击下载弹出框效果 代码总览 /** ". ...

  4. java读写html文件时出现中文乱码问题的解决方法

    最近在做HTML静态生成,需要从硬盘上把模版文件的内容读出来.然后,替换相关标签写到指定的文件中.无论是读写,都遇到了中文乱码问题.试过多种方法,发现下面一种可以避免中文乱码.(无论读取还是写入一定要 ...

  5. Java 导出 Excel 文件

    目前,很多报表,都需要导出Excel文件 首先,maven <dependency><groupId>org.apache.poi</groupId><art ...

  6. 关于RDLC使用导出PDF文件时,中文乱码解决方案

    MicrosftReportViewer控件导出乱码,主要需要设置的是RDCL文件: 关于使用RDLC导出PDF文件时,中文出现乱码现象,本文进行了解决: 其实很简单. 本人平台情况VS2008 英文 ...

  7. 解决前端导出excel文件,打开为乱码

    前端开发中,导入和导出文件是比较常见的业务场景,楼主在初次接触此类问题时,也在此卡了几天,好在问题最终也得以解决,废话不多说了直接上代码: <el-upload:on-error="u ...

  8. java导出excel文件内容中文乱码解决

    记录一个excel导出中发现的问题. 最近使用了EasyExcel这个工具类进行excel的导出,这个类很方便,配合注解和封装的方法,可以很容易的对需要导出的excel或者已有的excel进行行列或者 ...

  9. java导出excel文件,设置单个单元格内字段不同样式

    最近在做文件模板下载,有需求提出,部分字段需要使用*来标明必填,而且必须是红色,因此,在网上百度之后,终于找到参考文档,参考地址贴在最后. public static void main( Strin ...

最新文章

  1. php使用 js格式解析,php 无限级数据JSON格式及JS解析_PHP教程
  2. Google Brain与牛津大学主持最新《计算机视觉前沿》报告(146页PPT)
  3. 数据中心使用dtu远程连接oracel 9i数据库问题
  4. ConcurrentHashMap 原理解析
  5. boost::regex模块基于 ftp 的 regex_match 示例
  6. linux c进程和线程脑图,进程和线程
  7. React.js 入门与实战课程思维导图
  8. 计算机网络(六)-传输介质
  9. C语言字符串分离数字和字母,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...
  10. 磁力计 姿态 matlab,磁力计如何用来计算姿态(1)
  11. matlab空域图像增强,图像处理的MATLAB实现实验一 空域图像增强.doc
  12. 《.NET框架程序设计》第5章 基元类型、引用类型与值类型
  13. 未来-IOT-Aliyun:阿里云 IOT - 开发者社区
  14. 创设Excel服务失败
  15. 关于sublime出现PyV8binary错误
  16. 桌面图标无故变成白色
  17. 排列组合思维导图_图形推理 思维导图 百度文库
  18. 用友T1-商贸宝库存商品明细账
  19. SS端口已被占用 1080
  20. 重庆2021年高考二诊成绩查询,2021年重庆二诊,2021年4月重庆二诊考试,重庆二诊康德卷...

热门文章

  1. edui 富文本编辑_终于我还是输给了免费富文本编辑器
  2. DTP,VTP,链路聚合
  3. 微信开发者工作遇到的ERROR
  4. 苹果手机用什么软件测试续航,苹果哪个系统最耗电 iOS10/11/12/13电池续航测试
  5. termite:从零开始的go语言学习生活
  6. 工作日常记录:整数有符号数除以无符号数的那些事
  7. 深入JavaWeb技术世界15:通过项目逐步深入了解Mybatis(二)
  8. keil下汇编语言调试分析
  9. java与英语词汇_Java英语词汇表
  10. omi html转义,特殊字符读法