Java JdbTable导出为Execl
public void writeExcel(String fileName) {
//目标文件
File file = new File(fileName);
FileOutputStream fOut = null;
try {
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值。
// 也可以指定工作表的名字。
HSSFSheet sheet = workbook.createSheet("Test_Table");
// 创建字体,红色、粗体
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
//需要导入的包为:poi-scratchpad-3.1-beta2-20080526.jar ,poi-contrib-3.1-beta2-20080526.jar ,poi-3.1-beta2-20080526.jar
// 创建单元格的格式,如居中、左对齐等
HSSFCellStyle cellStyle = workbook.createCellStyle();
// 水平方向上居中对齐
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 垂直方向上居中对齐
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
// 设置字体
cellStyle.setFont(font);
HSSFRow r = sheet.createRow(1);
//下面将建立一个4行3列的表。第一行为表头。
int rowNum = 0; //行标
int colNum = 0; //列标
//建立表头信息
// 在索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow( (short) rowNum);
// 单元格
HSSFCell cell = null;
for (colNum = 0; colNum < jdbTable1.getColumnCount(); 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(jdbTable1.getColumnName(colNum));
}
rowNum++;
for (; rowNum < jdbTable1.getRowCount(); rowNum++) {
// 新建第rowNum行
row = sheet.createRow( (short) rowNum);
for (colNum = 0; colNum < jdbTable1.getColumnCount(); colNum++) {
// 在当前行的colNum位置创建单元格
cell = row.createCell( (short) colNum);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle);
String value = String.valueOf(jdbTable1.getValueAt(rowNum, colNum));
cell.setCellValue(value);
}
}
// 工作薄建立完成,下面将工作薄存入文件
// 新建一输出文件流
fOut = new FileOutputStream(file);
// 把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
JOptionPane.showMessageDialog(this, "文件生成成功!!!", "系统提示",
JOptionPane.INFORMATION_MESSAGE);
System.out.println("Excel文件生成成功!Excel文件名:" + file.getAbsolutePath());
}
catch (Exception e) {
JOptionPane.showMessageDialog(this, "文件生成失败!!!", "系统提示",
JOptionPane.INFORMATION_MESSAGE);
System.out.println("Excel文件" + file.getAbsolutePath() + "生成失败:" + e);
}
finally {
if (fOut != null) {
try {
fOut.close();
}
catch (IOException e1) {
}
}
}
}