@param title excel文件名
  @param excelTopName 表头中文名字(显示在第一行的中文表头内容)
  @param header 表头字段属性(根据该属性获取对应的属性值,表头内容作为key值,根据该key值循环获取内容)
  @param content 内容
  @param response 响应
1 public boolean downloadExcel(String title, String[] excelHeaderChName,
String[] header, List<Map<String, String>> content,
HttpServletResponse response) {
try {
String name = java.net.URLEncoder.encode(title, "UTF8");
String filename = name
+ new SimpleDateFormat("yyyyMMddhhmmss").format(new Date());
filename = new String(filename.getBytes("UTF-8"), "ISO-8859-1");
response.reset();
response.setCharacterEncoding("utf-8");
response.setContentType("application/msexcel");// 设置为下载application/x-download
response.setHeader("Content-Disposition", "inline;filename=\""
+ filename + ".xls\"");
OutputStream os = response.getOutputStream(); WritableWorkbook wwb = Workbook.createWorkbook(os);
// 创建excel工作表,指定名字和位置
WritableSheet sheet = wwb.createSheet(title, 0); // 生成表头(行宽)
for (int i = 0; i < header.length; i++) {
sheet.addCell(new Label(i, 0, excelHeaderChName[i]));
// 设置excel列宽
sheet.setColumnView(i, 15);
} // 内容
for (int i = 0; i < content.size(); i++) {
for (int j = 0; j < content.get(i).size(); j++) {
sheet.addCell(new Label(j, i + 1, content.get(i).get(
header[j])
+ ""));
}
} // 写入工作表
wwb.write();
wwb.close();
os.close();
} catch (IOException | WriteException e) {
e.printstackTrace();
}
return true;
}
2019-1-7:使用poi导出Excel文件到浏览器时,出现内容乱码的情况,尝试各种方式都不行,后来改用jxl方式来导出Excel,问题得到解决。 在本地运行不会出现乱码,
但在resin服务上始终乱码,查看了服务器上的编码格式是gbk格式,打印了日志查询出来的内容也没有乱码,不清楚什么原因。。。望小伙伴们解答疑惑 附上poi导出Excel代码

/**
* @Description: 导出Excel
* @param workbook
* @param sheetNum (sheet的位置,0表示第一个表格中的第一个sheet)
* @param sheetTitle (sheet的名称)
* @param headers (表格的列标题)
* @param result (表格的数据)
* @param out (输出流)
* @throws Exception
*/
public static void exportExcel(HSSFWorkbook workbook, int sheetNum, String sheetTitle, String[] headers,
  List<List<String>> result) throws Exception {
  // 生成一个表格
  HSSFSheet sheet = workbook.createSheet();
  workbook.setSheetName(sheetNum, sheetTitle);
  // 生成一个样式
  HSSFCellStyle style = workbook.createCellStyle();
  // 设置这些样式
  style.setFillForegroundColor(HSSFColor.PALE_BLUE.index);
  style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
  style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
  style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
  style.setBorderRight(HSSFCellStyle.BORDER_THIN);
  style.setBorderTop(HSSFCellStyle.BORDER_THIN);
  style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
  // 生成一个字体
  HSSFFont font = workbook.createFont();
  font.setColor(HSSFColor.BLACK.index);
  font.setFontHeightInPoints((short) 12);
  font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
  // 把字体应用到当前的样式
  style.setFont(font);

  // 指定当单元格内容显示不下时自动换行
  style.setWrapText(true);

  // 产生表格标题行
  HSSFRow row = sheet.createRow(0);
  for (int i = 0; i < headers.length; i++) {
    HSSFCell cell = row.createCell((short)i);

    cell.setCellStyle(style);
    HSSFRichTextString text = new HSSFRichTextString(headers[i]);

    // tempContent = new String(tempContent.getBytes("UTF-8"), "ISO-8859-1");
    //tempContent = new String(tempContent.getBytes("ISO-8859-1"), "UTF-8");

    cell.setCellValue(new String(text.toString().getBytes("GBK"), "ISO-8859-1"));
  }
  // 遍历集合数据,产生数据行
  if (result != null) {
    int index = 1;
      for (List<String> m : result) {
        row = sheet.createRow(index);
        int cellIndex = 0;
        for (String str : m) {
          HSSFCell cell = row.createCell((short)cellIndex);
          if(null == str || str.equals("")) {
            cell.setCellValue("");
          }else {
            cell.setCellValue(str.toString());
          }
        log.info("####"+str.toString());
        cellIndex++;
      }
    index++;
  }
}

}

excel导出简单示例(jxl jar包)的更多相关文章

  1. excel导出 jxl.jar包

    导入jxl.jar包, 代码如下: package com.gree; import java.io.IOException; import java.io.OutputStream; import ...

  2. Java使用jxl.jar包写Excel文件的最适合列宽问题基本实现

    以前用jxl.jar包,读写过Excel文件.也没有注意最适合列宽的问题,但是jxl.jar没有提供最适合列宽的功能,上次用到写了一下,可以基本实现最适合列宽. 注意,这个只是基本可以实现,基本针对中 ...

  3. Excel文件按照指定模板导入数据(用jxl.jar包)

        本文中的方法只适合Excel2003,要读取Excel2007最好使用poi.jar,据说poi.jar还在更新,jxl.jar已经不更新了,处理Excel文件的读写问题最好还是学习poi.j ...

  4. 【转】maven导出项目依赖的jar包

    本文转自:http://my.oschina.net/cloudcoder/blog/212648 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进 ...

  5. IntelliJ IDEA导出Java 可执行Jar包

    原文:IntelliJ IDEA导出Java 可执行Jar包 保证自己的Java代码是没有问题的,在IDEA里面是可以正常运行的,然后,按下面步骤: 打开File -> Project Stru ...

  6. Maven导出Project依赖的jar包

    Maven导出Project依赖的jar包 从Maven仓库中导出jar包: mvn dependency:copy-dependencies 会导出到Project的targed/dependenc ...

  7. eclipse maven 导出项目依赖的jar包

    转自:https://blog.csdn.net/andyliulin/article/details/46544555 一.导出到默认目录 targed/dependency 从Maven项目中导出 ...

  8. eclipse maven jar工程导出项目依赖的jar包

    今天遇到个事,给业务开发/测试搞个了转换工具,是使用swing写的,依赖了很多的三方包,为了方便打算以bat方式提供,但是要导出依赖的三方jar,网上搜了下,如下(已测试): 一.导出到默认目录 ta ...

  9. maven导出项目依赖的jar包

    摘要: 在进行项目部署时,需要将maven项目所依赖的jar导出到指定目录,本文讲解如何导出项目依赖的jar包 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的 ...

随机推荐

  1. mysql安装 demo [linux centos7] [5.7.26]

    MySQL 安装配置 https://www.runoob.com/linux/mysql-install-setup.html =================================== ...

  2. 学会如何使用shiro

    摘:https://www.cnblogs.com/learnhow/p/5694876.html 一.架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙.S ...

  3. 如何改变string中的字符值?

    string本身是不可变的,因此要改变string中字符,需要如下操作: str := “hello world” s := []byte(str) s[] = ‘o’ str = string(s) ...

  4. SpringBoot---缓存支持Cache

    1.概述 1.1.在  Spring中使用缓存技术   的  关键   是配置CacheManager: SpringBoot为我们   自动配置了多个  CacheManager实现: Spring ...

  5. Ubuntu 16.04配置vncviewer

    网上有各种各样的教程,既混乱又复杂.这是提供一个亲自测试可用的配置方案,十分简单,桌面环境选用xfce,Ubuntu版本是16.04. 1 安装 Xfce 和 TightVNC sudo apt in ...

  6. vue项目放在IE上页面空白的问题

    Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码 1.npm install babel-polyfill --save 2.main.js中引入 import 'babel-poly ...

  7. pycharm 进入Pythonshell脚本调试

  8. Codeforces 842C--Ilya And The Tree(dfs+树)

    原题链接:http://codeforces.com/contest/842/problem/C 题意:一个以1为根节点的树,每个节点有一个值ai,定义美丽度:从根节点到这个节点的路径上所有ai的gc ...

  9. 二、制作BOM表格--物料表格--Bill of Materials

    二.制作BOM表格--物料表格--Bill of Materials 公司会根据这个表格进行相关元器件的采购--以及后期的贴片上彩 操作: .dsn--Tools--Bill of Materials ...

  10. paper 157:文章解读--How far are we from solving the 2D & 3D Face Alignment problem?-(and a dataset of 230,000 3D facial landmarks)

    文章:How far are we from solving the 2D & 3D Face Alignment problem?-(and a dataset of 230,000 3D ...