生成或者读取excel文件在java或者c#都是比较吸引眼球的一大亮点,说直白点就是流的使用,生成或者读取excel有很多种方法,现在我就介绍一种比较好用的方法(NPOI)
我们可以把NPOI看成是java里的第三方jar包,开发的时候只要引入进来就可以了
1.下面是NPOI的下载地址
http://npoi.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=19351
下载好文件后只要把bin下的全部东西引入就可以了
2.写个asp.net的web页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="exportexcel._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>asp.net消息响应头的使用</title>
</head>
<body>
<a href="ashx/Download.ashx">下载excel</a>
<a href="ashx/Look.ashx">查看excel</a>
</body>
</html>
3.编写一般处理程序
(1)消息头如下
context.Response.ContentType = "application/x-excel";
string fileName = HttpUtility.UrlEncode("我导出的excel.xls");
context.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
这个链接有许多比较常用的消息头,大家参考下
http://www.cnblogs.com/chenghm2003/archive/2008/10/19/1314703.html
(2)导出excel文件
//开始导出excel
HSSFWorkbook workBook = new HSSFWorkbook();
//生成excel的行
HSSFSheet sheet = workBook.CreateSheet();
//生成excel的列,第一列是空的
HSSFRow row =sheet.CreateRow(1);
//生成excel的单元格,第一行为空
HSSFCell ceel = row.CreateCell(1,HSSFCell.CELL_TYPE_STRING);
ceel.SetCellValue("hello");
row.CreateCell(2, HSSFCell.CELL_TYPE_STRING).SetCellValue("潘玮柏");
workBook.Write(context.Response.OutputStream);
下面看下效果图
下面是输出的excel文件
代码我会上传,大家自己去下载。