SSH框架 POI建立excel表格弹出文件选择目录后保存到本地
来源:互联网 发布:java常用工具类 编辑:程序博客网 时间:2024/06/10 01:58
初学POI和SSH框架,通过这几天整理各个大牛们的代码,终于整出一个能用的了,以最简单的例子为例
通过POI建立excel表格后点击下载能够下载该excel表格到本地中
action层
我是做的一个题库,以文字题题库为例
package com.emsp.website.safetyStudy.action;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;import javax.annotation.Resource;import org.apache.struts2.ServletActionContext;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import com.emsp.website.common.base.impl.BaseActionImpl;import com.emsp.website.safetyStudy.domain.QuestionA;import com.emsp.website.safetyStudy.domain.QuestionB;import com.emsp.website.safetyStudy.domain.QuestionC;import com.emsp.website.safetyStudy.domain.QuestionD;import com.emsp.website.safetyStudy.domain.Questions;import com.emsp.website.safetyStudy.service.QuestionsService;import com.emsp.website.system.domain.Sys_User;import com.opensymphony.xwork2.ActionContext;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import jxl.Sheet;import jxl.Workbook;@Controller@Scope("prototype")public class SafetyStudyIndexAction extends BaseActionImpl<Questions> {private static final long serialVersionUID = 1L;private Questions model = new Questions();@Resourceprivate QuestionsService questionsService;private InputStream inputStream;public InputStream getInputStream() {return inputStream;}public void setInputStream(InputStream inputStream) {this.inputStream = inputStream;} public Questions getModel() {return model;}public void prepare() throws Exception {}// *****************************************************************///** * 下载题库类型:下载文字题模板 * @throws IOException * @throws Exception */public String downloadText() throws Exception{setInputStream(questionsService.exportText());return "downloadText" ;}}Service层
QuestionsService.java
package com.emsp.website.safetyStudy.service;import java.io.InputStream;import java.util.List;import com.emsp.website.safetyStudy.domain.Questions;public interface QuestionsService {InputStream exportText();//下载文字题模板}QuestionsServiceImpl.java
package com.emsp.website.safetyStudy.service.impl;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.List;import javax.annotation.Resource;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;import org.apache.poi.hssf.util.HSSFColor;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.emsp.website.safetyStudy.dao.QuestionsDao;import com.emsp.website.safetyStudy.domain.Questions;import com.emsp.website.safetyStudy.service.QuestionsService;@Service@Transactionalpublic class QuestionsServiceImpl implements QuestionsService {@Resourceprivate QuestionsDao questionsDao;/** * 下载文字题 */public InputStream exportText() {String fileName = "text_template.xls";HSSFWorkbook wb = new HSSFWorkbook();//工作表HSSFSheet sheet = wb.createSheet("sheet1");//行HSSFRow row = sheet.createRow(0);//单元格row.createCell(0).setCellValue("文字题题干");row.createCell(1).setCellValue("A选项");row.createCell(2).setCellValue("B选项");row.createCell(3).setCellValue("C选项");row.createCell(4).setCellValue("D选项");row.createCell(5).setCellValue("答案");row.createCell(6).setCellValue("说明:本模板适用于文字题题型上传模板,内容以此表头为例,此列不能添加内容");//格式化,设置单元格的样式sheet.setColumnWidth(0, 6000);sheet.setColumnWidth(1, 6000);sheet.setColumnWidth(2, 6000);sheet.setColumnWidth(3, 6000);sheet.setColumnWidth(4, 6000);sheet.setColumnWidth(5, 2000);sheet.setColumnWidth(6, 8000);HSSFCellStyle style = wb.createCellStyle();style.setWrapText(true);row.getCell(0).setCellStyle(style);row.getCell(1).setCellStyle(style);row.getCell(2).setCellStyle(style);row.getCell(3).setCellStyle(style);row.getCell(4).setCellStyle(style);row.getCell(5).setCellStyle(style);//设置字体为红色style = wb.createCellStyle();style.setWrapText(true);HSSFFont font = wb.createFont();font.setColor(HSSFColor.RED.index);style.setFont(font);row.getCell(6).setCellStyle(style);File file = new File(fileName);try {OutputStream out=new FileOutputStream(file);wb.write(out);out.flush();out.close();} catch (Exception e) {e.printStackTrace();}InputStream in=null; }
struts.xml
<!-- 下载各种题型模板 --> <result name="downloadText" type="stream"> <param name="inputStream">excelStream</param> <param name="ContentType">application/vnd.ms-excel</param> <param name="contentDisposition">filename="text_template.xls"</param> </result>
jsp
<span ><s:a action="/website/safetyStudy/safetyStudyIndex/safetyStudyIndexAction_downloadText" style="text-decoration:none; color:#000;">文字题上传模板下载</s:a></span>
效果如图
0 0
- SSH框架 POI建立excel表格弹出文件选择目录后保存到本地
- SSH框架,POI导出数据到Excel
- JAVA-POI导入数据到excel并弹出保存框
- java利用poi生成excel文件后下载本地
- 从相册选择图片后保存到本地
- 关于创建Excel表格问题(保存至指定文件/弹出直接打开还是下载,并可以选择保存路径的对话框)
- 保存UIImage到文件--到本地自己的程序目录
- ssh框架POi导入excel表格兼容excel2003和2007版本
- 导出excel表格到本地
- 保存文件到本地
- java 中 excel生成并文件下载保存到本地
- 利用POI框架创建excel表格
- poi方式操作excel表格数据(数据库查询到的数据导入excel文件)
- ssh框架+oracle实现将文件保存到服务器
- CB弹出对话框 选择目录建立文件夹
- poi本地生成Excel到桌面
- poi本地生成Excel到桌面
- poi 实现Excel导出到本地
- 在Eclipse中配置代码审查与分析工具
- java乐观锁与悲观锁
- RUP
- PDO 类
- 文章索引::”机器学习方法“,"深度学习方法"原创系列
- SSH框架 POI建立excel表格弹出文件选择目录后保存到本地
- 使用zxing批量生成二维码立牌
- GSM RF基础
- 预处理语句与存储过程
- Installing JCEUnlimited Strength Jurisdiction policy files
- 计算机辅助软件工程的发展趋势
- 硅麦与驻极体麦
- 软链接 和 硬链接 2/2
- hadoop读写机制