67,512
社区成员
发帖
与我相关
我的任务
分享
public void writeExcel(String fileName) {
//目标文件
File file = new File(fileName);
FileOutputStream fOut = null;
try {
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值。
// 也可以指定工作表的名字。
HSSFSheet sheet = workbook.createSheet("data_Table");
// 创建单元格的格式,如居中、左对齐等
HSSFCellStyle cellStyle = workbook.createCellStyle();
// 水平方向上居中对齐
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 垂直方向上居中对齐
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
//下面将建立一个4行3列的表。第一行为表头。
int rowNum = 0;//行标
int colNum = 0;//列标
//建立表头信息
// 在索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow((short) rowNum);
// 单元格
HSSFCell cell = null;
//获取数据库数据1000条。
ArrayList infoList =InfosDao.buildExcel("雅思",1000);
System.out.println(infoList.size());
for (colNum = 0; colNum < 6; colNum++) {
// 在当前行的colNum列上创建单元格
cell = row.createCell((short) colNum);
// 定义单元格为字符类型,也可以指定为日期类型、数字类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 定义编码方式,为了支持中文,这里使用了ENCODING_UTF_16
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
// 为单元格设置格式
cell.setCellStyle(cellStyle);
// 添加内容至单元格
cell.setCellValue("表头名-" + colNum);
}
// rowNum++;
for (; rowNum < infoList.size(); rowNum++) {
// 新建第rowNum行
row = sheet.createRow((short) rowNum);
for (colNum = 0; colNum < 6; colNum++) {
// 在当前行的colNum位置创建单元格
cell = row.createCell((short) colNum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle);
if(colNum==0)
cell.setCellValue(1);
if(colNum==1)
cell.setCellValue(0);
if(colNum==2)
cell.setCellValue(1);
if(colNum==3)
cell.setCellValue(-1);
if(colNum==4)
cell.setCellValue(((Infos)infoList.get(rowNum)).getInfoName());
if(colNum==5)
cell.setCellValue(((Infos)infoList.get(rowNum)).getInfoContent());
}
}
// 工作薄建立完成,下面将工作薄存入文件
// 新建一输出文件流
fOut = new FileOutputStream(file);
// 把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
System.out
.println("Excel文件生成成功!Excel文件名:" + file.getAbsolutePath());
} catch (Exception e) {
System.out.println("Excel文件" + file.getAbsolutePath() + "生成失败:" + e);
} finally {
if (fOut != null){
try {
fOut.close();
} catch (IOException e1) {
}
}
}
}