1. 首先去http://jakarta.apache.org/poi/网站下载poi包。我使用的版本为:jakarta-poi-1.9.0-dev-20030219。网站上还有相应的文档,可以学习一下。
2. 将下载的包放在WEB-INF/lib目录下。
3. 写调用Excel的ACTION,example code如下:
package test;
import org.apache.struts.action.*;
import java.io.*;
import javax.servlet.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.*;
/**
* 写excel文件
*/
public class TestExcelAction
extends Action {
private static final String CONTENT_TYPE = "application/vnd.ms-excel";
public ActionForward perform(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws IOException,
ServletException {
response.setContentType(CONTENT_TYPE);
ActionErrors errors = new ActionErrors();
try {
//内容
try {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFHeader header = sheet.getHeader();
header.setCenter("工资报表");
HSSFRow row1 = sheet.createRow( (short) 0);
HSSFCell cell11 = row1.createCell( (short) 0);
cell11.setEncoding(HSSFCell.ENCODING_UTF_16);
cell11.setCellValue("编号");
HSSFCell cell12 = row1.createCell( (short) 1);
cell12.setEncoding(HSSFCell.ENCODING_UTF_16);
cell12.setCellValue("部门");
HSSFCell cell13 = row1.createCell( (short) 2);
cell13.setEncoding(HSSFCell.ENCODING_UTF_16);
cell13.setCellValue("姓名");
HSSFCell cell14 = row1.createCell( (short) 3);
cell14.setEncoding(HSSFCell.ENCODING_UTF_16);
cell14.setCellValue("应发工资");
HSSFCell cell15 = row1.createCell( (short) 4);
cell15.setEncoding(HSSFCell.ENCODING_UTF_16);
cell15.setCellValue("基本工资");
HSSFCell cell16 = row1.createCell( (short) 5);
cell16.setEncoding(HSSFCell.ENCODING_UTF_16);
cell16.setCellValue("岗位工资");
HSSFCell cell17 = row1.createCell( (short) 6);
cell17.setEncoding(HSSFCell.ENCODING_UTF_16);
cell17.setCellValue("奖金");
sheet.setGridsPrinted(true);
HSSFFooter footer = sheet.getFooter();
footer.setRight("Page " + HSSFFooter.page() + " of " +
HSSFFooter.numPages());
ServletOutputStream os = response.getOutputStream();
wb.write(os);
os.flush();
}
catch (Exception e) {
System.out.println("error in JSP");
}
return null;
}
catch (Throwable e) {
e.printStackTrace();
ActionError error = new ActionError(e.getMessage());
errors.add(ActionErrors.GLOBAL_ERROR, error);
}
saveErrors(request, errors);
return new ActionForward(mapping.getInput());
}
}
4。调用这个testExcelAction就可以了。