所需要的包:
poi-4.0.0.jar
poi-ooxml-4.0.0.jar
poi-ooxml-schemas-4.0.0.jar
poi-scratchpad-4.0.0.jar
xmlbeans-5.0.1.jar

 import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.xwpf.extractor.XWPFWordExtractor;import org.apache.poi.xwpf.usermodel.XWPFDocument;public void getDLoadExcel() throws DocumentException, IOException, SolrServerException{TaskBean task=addTaskAction.search(fileName);String order=Order(task);List<postExcelBean> posts=postDLoad_solr.searchdata(order);//获取solr数据中的list//EXCELString[] title = {"原文标题","译文标题","摘要","原文","译文","采集日期","舆情来源"};//excel文件名String filename = fileName;filename = fileName+".xls";//sheet名String sheetName = "舆情报告";//写入EXCEL的数据String [][] content = new String[posts.size()][title.length];for (int i = 0; i < posts.size(); i++) {//content[i] = new String[title.length];content[i][0] = posts.get(i).getBt();content[i][1] = posts.get(i).getBtyw();content[i][2] = posts.get(i).getYqzy();content[i][3] = posts.get(i).getZw();content[i][4] = posts.get(i).getZwyw();content[i][5] = posts.get(i).getZqrq();content[i][6] = posts.get(i).getYqly();}//创建HSSFWorkbookHSSFWorkbook wb = ExcelUtils.getHSSFWorkbook(sheetName, title, content, null);//响应到客户端try {this.setResponseHeader(this.response, filename);OutputStream os = this.response.getOutputStream();wb.write(os);os.flush();os.close();} catch (Exception e) {e.printStackTrace();}}

设置格式等

//有用,意如其名public void setResponseHeader(HttpServletResponse response, String filename) {try {try {filename = new String(filename.getBytes(), "utf-8");} catch (UnsupportedEncodingException e) {// TODO Auto-generated catch blocke.printStackTrace();}response.setContentType("application/octet-stream;charset=utf-8");response.setHeader("Content-Disposition", "attachment;filename=" + filename);response.addHeader("Pargam", "no-cache");response.addHeader("Cache-Control", "no-cache");} catch (Exception ex) {ex.printStackTrace();}}

创建一个Excel所需读入的文件

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelUtils {public static HSSFWorkbook getHSSFWorkbook(String sheetName, String []title, String [][]values, HSSFWorkbook wb){// 第一步,创建一个HSSFWorkbook,对应一个Excel文件if(wb == null){wb = new HSSFWorkbook();}// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheetHSSFSheet sheet = wb.createSheet(sheetName);// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制HSSFRow row = sheet.createRow(0);// 第四步,创建单元格,并设置值表头 设置表头居中HSSFCellStyle style = wb.createCellStyle();//        style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式HSSFCell cell = row.createCell(1);cell.setCellValue(3);HSSFFont font = wb.createFont();font.setFontName("宋体");//设置字体名称font.setFontHeightInPoints((short)12);//设置字号//        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示font.setBold(true);sheet.setColumnWidth(0, 9000); sheet.setColumnWidth(1, 9000);sheet.setColumnWidth(2, 8000);sheet.setColumnWidth(3, 9000); sheet.setColumnWidth(4, 5500); sheet.setColumnWidth(5, 3000); sheet.setColumnWidth(6, 3000); //        sheet.setColumnWidth(4, 2000);//        sheet.setColumnWidth(5, 3000);//        sheet.setColumnWidth(6, 4000);//        sheet.setColumnWidth(7, 4000);//        sheet.setColumnWidth(8, 4000);//        sheet.setColumnWidth(9, 4000);//        sheet.setColumnWidth(10, 3000);//        sheet.setColumnWidth(11, 4000);//        sheet.setColumnWidth(12, 4000);//        sheet.setColumnWidth(13, 4000);style.setFont(font);cell.setCellStyle(style);//创建标题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++){//将内容按顺序赋给对应的列对象if(values[i][j].length()>30000){values[i][j]=values[i][j].substring(0,30000);}row.createCell(j).getCellStyle().setWrapText(true);//自动换行row.createCell(j).setCellValue(values[i][j]);}}return wb;}/*** 舆情检索任务下载* @param sheetName* @param title* @param values* @param wb* @return* @author zwh 2021年8月6日*/public static HSSFWorkbook getHSSFWorkbookByyqTask(String sheetName, String []title, String [][]values, HSSFWorkbook wb){// 第一步,创建一个HSSFWorkbook,对应一个Excel文件if(wb == null){wb = new HSSFWorkbook();}// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheetHSSFSheet sheet = wb.createSheet(sheetName);// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制HSSFRow row = sheet.createRow(0);// 第四步,创建单元格,并设置值表头 设置表头居中HSSFCellStyle style = wb.createCellStyle();//style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式HSSFCell cell = row.createCell(1);cell.setCellValue(3);HSSFFont font = wb.createFont();font.setFontName("宋体");//设置字体名称font.setFontHeightInPoints((short)12);//设置字号//font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示font.setBold(true);sheet.setColumnWidth(0, 9000); sheet.setColumnWidth(1, 9000);sheet.setColumnWidth(2, 9000);sheet.setColumnWidth(3, 20000); sheet.setColumnWidth(4, 20000); style.setFont(font);cell.setCellStyle(style);//创建标题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++){//将内容按顺序赋给对应的列对象row.createCell(j).getCellStyle().setWrapText(true);//自动换行row.createCell(j).setCellValue(values[i][j]);}}return wb;}
}

JAVA Excel下载学习相关推荐

  1. Java Excel(jxl)学习笔记

    概述 ​ Java Excel API是成熟的开源Java API,使开发人员可以动态读取,写入和修改Excel电子表格. 一些功能 从Excel 95.97.2000,XP和2003工作簿中读取数据 ...

  2. java excel 注解_Java中注解学习系列教程-5 excel导出优化初级阶段

    在上一篇文章中,我们实现了使用自定义注解导出Excel的小案例.但是有问题的.我们发现,如果对象属性中包含了date类型或者使用了枚举类.这个时候就会出问题.我们来看看问题所在: 是不是已经看到了结果 ...

  3. excel可编码java,Java关于前后台传输中文乱码以及Excel下载乱码解决

    针对乱码,一般情况是前后台以及中间件编码格式不同导致.故需要保证编码格式相同即可. 1.前台页面格式指定,这里用的是jsp,故需要将pageEncoding指定为"UTF-8" 2 ...

  4. WEB实现Excel下载的一种方式--JAVA EXCEL

    需求场景: 最近在做一个手机借记管理平台(WEB),项目新功能要求能下载所有手机的信息(也就是存在数据库的信息)生成EXCEL表格. 用到的工具: JAVA EXCEL(下载地址:http://nch ...

  5. JAVA代码实现Excel下载,中文名称乱码问题

    #JAVA代码实现Excel下载,中文名称乱码问题 ##第一:检查乱码的服务器版本是否在代码中进行处理 ###处理方式: if(request.getHeader("user-Agent&q ...

  6. java毕业生设计学习资源下载管理计算机源码+系统+mysql+调试部署+lw

    java毕业生设计学习资源下载管理计算机源码+系统+mysql+调试部署+lw java毕业生设计学习资源下载管理计算机源码+系统+mysql+调试部署+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  7. java计算机毕业设计学习资源下载管理源码+mysql数据库+lw文档+系统+调试部署

    java计算机毕业设计学习资源下载管理源码+mysql数据库+lw文档+系统+调试部署 java计算机毕业设计学习资源下载管理源码+mysql数据库+lw文档+系统+调试部署 本源码技术栈: 项目架构 ...

  8. 学习Java要下载什么软件?用来做什么?

    学习Java要下载的软件分别为:Eclipse:一个开放源代码的.基于Java的可扩展开发平台;EditPlus:文本编译工具,初学者可以使用EditPlus编译执行Java程序;NetBeans:开 ...

  9. java excel api 下载文件_java excel api实现输出EXCEL文件下载

    java excel api实现输出EXCEL文件下载 [// 下载本地文件String fileName = 苹果知识库授权网点整理汇总副本20130210.xls.toString(); // 文 ...

  10. 下载java哪个版本_学习JAVA应该下载ORACLE哪个版本

    学习JAVA应该下载ORACLE哪个版本 关注:290  答案:2  mip版 解决时间 2021-02-04 00:44 提问者碎情漂移ド 2021-02-03 07:52 win32_11gR1_ ...

最新文章

  1. 文字输入限制_输入框设计,设计样式及设计要点
  2. 关系数据库SQL之可编程性存储过程
  3. 什么配置的电脑可满足基因组索引构建的需求?
  4. 3007基于二叉链表的二叉树叶子结点到根结点的路径的求解(附DFS在树里的应用分析,思路详解)
  5. 电子信息工程专业实习手册周记_信息专业实习周记范文
  6. Ubuntu各类软件推荐
  7. MAML代码及理论的深度学习 PyTorch二阶导数计算
  8. 用 JustTrustMe 干翻 SSL Pinning: 爬尤美 app 付费视频(app.youmei.com)
  9. 超星作业文件解压和自动命名脚本
  10. 强化学习笔记: Model-based Approaches(2)
  11. android studio项目实例基于Uniapp+SSM实现的定制旅游APP
  12. 360开机小助手的广告怎么关
  13. UVA - 10118Free Candies(记忆化搜索)
  14. Java 11 – ChaCha20-Poly1305加密示例
  15. Linux_进程相关概念
  16. 对不起navicat我投入了DataGrip的怀抱
  17. 华为计算机魔术,科技魔术秀 如何让手机秒变电脑
  18. 微信小程序带给我们哪些便利
  19. makedown公式和绘图
  20. APA、MLA、芝加哥格式要求下的注释性参考文献目录(Annotated Bibliography)怎么写?

热门文章

  1. python3下载url图片假死_利用Python 向FTP 上传图片,程序假死?
  2. php7使用什么缓存,PHP7 opcache缓存清理问题
  3. python3发送邮件_Python3发送电子邮件
  4. html自适应布局源码,手机端页面自适应解决方案—rem布局进阶版(附源码示例)...
  5. 对于通用计算机而言,《计算机操作系统》第二次作业
  6. MySQL(18)-----表类型(存储引擎)的选择
  7. 在线批量将gps经纬度坐标转换为百度经纬度坐标
  8. 20145236《信息安全系统设计基础》第1周学习总结
  9. 【机器学习】Matlab中实现QQ-plot的一个好工具gqqplot
  10. 编程珠玑Column11中插入排序和快排序