首先需要去找一个 poi 包,我使用的是 poi-3.2.jar
这个功能只需要用到一个 Action,并在 struts.xml 中将其配置好即可。
<action name="exportExcel" class="panyu.flow.web.action.ExcelAction">
<result name="success" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="inputName">excelStream</param>
<param name="contentDisposition">attachment;filename="${fileName}.xls"</param>
<param name="bufferSize">1024</param>
</result>
<result name="error">/WEB-INF/jsp/msg_error.jsp</result>
</action>
上面的配置中需要注意红色字体标注的部分。
1.、result 的类型需要配置为 stream(流),这是因为我们的 Excel 文件是以字节流的形
式输出的。
2、contentType 指定了我们导出的数据流其实是一个 Excel 文档。
3、inputName 配置的是输入流的名称,我们导出的 Excel 就是从这个输入流里面读取数据。
4、contentDisposition 的作用主要是让 IE 浏览器将其作为一个附件形式返回而不是直接在
网页中显示,其中我们用到一个参数 fileName,这样可以在 Struts 中动态修改这个 Excel
文件的名称。
然后看 Struts
package panyu.flow.web.action;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
评论0