在项目中导入相应的jar包
poi-3.7.jar
代码示例:
import java.io.File;
import java.io.FileNotFoundException;import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletContext;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.sun.org.apache.bcel.internal.generic.RETURN;
public class CreateSimpleExcelToDisk extends ActionSupport{
/**
* @功能:手工构建一个简单格式的Excel
*/
public String exportReport() {
//第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
//第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("图书表一");
//第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int)0);
//第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //创建一个居中格式
HSSFCell cell = row.createCell((short)0);
cell.setCellValue("书名"); cell.setCellStyle(style);
cell = row.createCell((short)1);
cell.setCellValue("出版社"); cell.setCellStyle(style);
cell = row.createCell((short)2);
cell.setCellValue("价格"); cell.setCellStyle(style);
cell = row.createCell((short)3);
cell.setCellValue("日期"); cell.setCellStyle(style);
List<Book> bookList = new ArrayList<Book>();
Book book = new Book();
book.setId(1);
book.setAuthor("张三");
book.setPublish("南京");
book.setPrice("10.00");
book.setTime("2014-03-03");
bookList.add(book);
Book book1 = new Book();
book1.setId(2);
book1.setAuthor("张三1");
book1.setPublish("南京1");
book1.setPrice("11.00");
book1.setTime("2014-03-03");
bookList.add(book1);
//第五步,写入实体数据 实际应用中这些数据从数据库得到,
// List list = CreateSimpleExcelToDisk.getStudent();
for(int i=0;i<bookList.size();i++)
{
row = sheet.createRow((int)i+1);
Book stu = (Book) bookList.get(i);
//第四步,创建单元格,并设置值
row.createCell((short)0).setCellValue((double)stu.getId());
row.createCell((short)1).setCellValue(stu.getAuthor());
row.createCell((short)2).setCellValue(stu.getPublish());
cell = row.createCell((short)3);
cell.setCellValue(stu.getTime());
}
//第六步,将文件存到指定位置
try
{
FileOutputStream fout = new FileOutputStream("E:/report.xls");
wb.write(fout);
fout.close();
} catch (Exception e)
{
e.printStackTrace();
}
return "success";
}
}