POI操作excel示例工具类
由于近期项目要用到excel来转存页面中的表单数据,对poi操作excel进行了一番了解,写了以下,但总觉的不是很好
特此:发布在此供大家评论,广义集思,还望多多指教
1. workBook处理类
[java]
/**
* Excel WorkBook工具类
* @author dsy
* @version 1.0
*/
public class ExcelWorkBook {
public HSSFWorkbook workbook = null;
public static HSSFWorkbook workbookTemp = null;
//设置当前workbookName
private String workbookName = null;
private HSSFSheet sheet = null;
private FileOutputStream fileOut;
public ExcelWorkBook() {
if(workbook != null) {
workbook = null;
}
workbook = workbookTemp;
}
public ExcelWorkBook(String workbookName) {
workbook = workbookTemp;
setWorkbookName(workbookName);
}
public String getWorkbookName() {
return workbookName;
}
public void setWorkbookName(String workbookName) {
workbookName = workbookName;
}
public HSSFSheet getSheet() {
sheet = workbook.createSheet(getWorkbookName());
return sheet;
}
/**
* 用于stylUtils的所需要的workbook必须项所做的处理
* @return
*/
public static HSSFWorkbook getWorkbook() {
return workbookTemp;
}
public static void setWorkbook(HSSFWorkbook workbook) {
workbookTemp = workbook;
}
/**
* 输入当前WorkBook为下载临时文件记录
* @param excelName
*/
public void writerFileStream(String excelName) {
try {
fileOut = new FileOutputStream(excelName);
workbook.write(fileOut);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
fileOut.flush();
fileOut.close();
if(workbook != null) {
workbook = null;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2. Excel Row工具类
[java]
/**
* Excel Row工具类
* @author dsy
* @version 1.0
*/
public class ExcelSheetRow {
public ExcelSheetRow() {
// TODO Auto-generated constructor stub
}
public static HSSFSheet sheet = null;
/**
* 设置当前Sheet名字
*/
private static String sheetName = null;
private static HSSFRow row = null;
/**
* 创建当前标题行
* @param sheet
* @return
*/
public static HSSFRow createCurrSheetTitle(ExcelWorkBook work) {
HSSFSheet sheet = work.getSheet();
row = sheet.createRow(0);
return row;
}
/**
* 创建当前excel记录内容
* @param sheet
* @param i
* @return
*/
public static HSSFRow createCurrSheetRecord(ExcelWorkBook work,int i) {
HSSFSheet sheet = work.getSheet();
row = sheet.createRow(i+1);
return row;
}
public static String getSheetName() {
return sheetName;
}
public static void setSheetName(String sheetName) {
ExcelSheetRow.sheetName = sheetName;
}
}
3. Excel Cell工具类
[java]
/**
补充:软件开发 , Java ,