日期:2014-05-20  浏览次数:20916 次

请教关于如何修改文件类型的问题
我的问题是这样的:我想将某个文件夹下的所有excel导进数据库,但是这些原始的excel都是存成了htm格式(excel能够存成该类型),如果要导进数据库,必须先将这些excel另存为xls文件,我想请教java中如何修改文件的类型,即从htm格式改为xls格式  
源代码如下:  
public   void   importExcel(File   dir,String   file)   throws   SQLException   {  

if   (dir.isDirectory())   {  
String[]   s   =   dir.list();  
for   (int   j   =   0;   j   <   s.length;   j++)   {  
if   (file.equals(s[j]))   {  

Connection   con   =   null;  
CallableStatement   cstmt   =   null;  
ResultSet   rs   =   null;  
POIFSFileSystem   fs   =   null;  
HSSFWorkbook   wb   =   null;  
try   {  
fs   =   new   POIFSFileSystem(new   FileInputStream(dir.getPath()   +   "\\ "   +   file));  
wb   =   new   HSSFWorkbook(fs);  
}   catch   (IOException   e)   {  
e.printStackTrace();  

}  
HSSFSheet   sheet   =   wb.getSheetAt(0);  
HSSFRow   row   =   null;  
HSSFCell   cell   =   null;  
String   name   =   " ";  
String   name2   =   " ";  
String   name3   =   " ";  
String   flag=   null;  
double   value;  
String   value2;  
int   rowNum,   cellNum;  
int   i;  
rowNum   =   sheet.getLastRowNum();  
for   (i   =   0;   i   <=   rowNum;   i++)   {  
row   =   sheet.getRow(i);  
//cellNum   =   row.getLastCellNum();  

cell   =   row.getCell((short)   0);  
name2   =   cell.getStringCellValue();  

cell   =   row.getCell((short)   1);  
name3   =   cell.getStringCellValue();  
cell   =   row.getCell((short)   2);  
name   =   cell.getStringCellValue();  
cell   =   row.getCell((short)   3);  
//   System.out.println(cell.getCellType());  

value   =   cell.getNumericCellValue();  


try   {  
con   =   DBConnection.getConnection();  
cstmt   =   con.prepareCall(IConstants.SP_IMPORTEXCEL_KEY);  
cstmt.setString(1,   flag);  
cstmt.setString(2,   name2);  
cstmt.setString(3,   name3);  
cstmt.setString(4,   name);  
cstmt.setDouble(5,   value);  
cstmt.execute();  
}   catch   (SQLException   e)   {  
e.printStackTrace();  
logger.error(e.getMessage());  
throw   e;  
}   finally   {  
try   {  

if   (cstmt   !=   null)   {  
cstmt.close();  
}  
if   (con   !=   null)   {  
con.close();  
}  
}   catch   (SQLException   e)   {  
e.printStackTrace();  
logger.error(e.getMessage());  
throw   e;  
}  

}  


}  

}  
}  

else   {  
importExcel(new   File(dir,   s[j]),   file);