java导出excel表格

jar包如上所示
1.Excel.html
<!DOCTYPE html>
<html>
<head>
<title>测试Excel</title>
<meta charset="utf-8">
<script type="text/javascript">
function testExcel(){
location.href = "/TestExcel/excel.action";
}
</script>
</head>
<body>
<input type="button" value="导出excel" onclick="testExcel();">
</body>
</html>2.web.xml
<servlet>
<servlet-name>TestExcel</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>TestExcel</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>3.spring-mvc.xml
<context:component-scan base-package="cn.cw.study"></context:component-scan>
<mvc:annotation-driven/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/xml/"></property>
<property name="suffix" value=".html"></property>
</bean>4.ExcelUtil.java
@Controller
public class ExcelUtil {
@RequestMapping("/excel")
public static void execute(HttpServletRequest request,HttpServletResponse response){
String name = "成绩单测试";
String[] title = {"名称","性别"};
String fileName = System.currentTimeMillis()+".xls";
String[][] text = {{"小明","男"},{"小花","女"}};
HSSFWorkbook sheet = getSheet(name, title, text);
downLoad(response,sheet,fileName);
}
public static void downLoad(HttpServletResponse response,HSSFWorkbook sheet,String fileName){
try {
response.setContentType("application/octet-stream;charset=ISO8859-1");
response.setHeader("Content-Disposition", "attachment;filename="+ fileName);
response.addHeader("Pargam", "no-cache");
response.addHeader("Cache-Control", "no-cache");
OutputStream outputStream = response.getOutputStream();
sheet.write(outputStream);
outputStream.flush();
outputStream.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
public static HSSFWorkbook getSheet(String name,String[] tile,String[][] text){
//创建HSSFWorkbook对象(excel的文档对象)
HSSFWorkbook workbook = new HSSFWorkbook();
//建立新的sheet对象(excel的表单)
HSSFSheet sheet = workbook.createSheet(name);
//设置样式
HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
HSSFRow row = sheet.createRow(0);
//声明列对象
HSSFCell cell = null;
//创建标题
for(int i=0;i<tile.length;i++){
cell = row.createCell(i);
cell.setCellValue(tile[i]);
cell.setCellStyle(style);
}
//创建内容
for(int i=0;i<text.length;i++){
HSSFRow rows = sheet.createRow(i+1);
for(int j=0;j<text[i].length;j++){
//将内容按顺序赋给对应的列对象
HSSFCell createCell = rows.createCell(j);
createCell.setCellValue(text[i][j]);
createCell.setCellStyle(style);
}
}
return workbook;
}
}
文章标题:java导出excel表格
发布时间:2020-01-16, 18:00:42
最后更新:2020-01-16, 18:00:43