最近在做一个文件导入导出到Excel的项目模块,做了一个简单的Demo,放在这里。 注:对Excel的操作使用的是poi.jar包; package jfile; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class XXportToExcelDemo { JFileChooser jfc = new JFileChooser(); public String openWin(){ jfc.setAcceptAllFileFilterUsed(false);//设置文件过滤条件,在文件选择中没有“所有文件”的选项 jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置文件选择类型,在这里只是选择具体文件 jfc.setFileFilter( new FileFilter(){ public boolean accept(File f) { return f.getName().toLowerCase().endsWith(".xls");//添加过滤文件类型。以后缀做判断 } public String getDescription() { return "Excel File";//在文件类型中的显示 } } ); jfc.showOpenDialog(null); String resultOpen = jfc.getSelectedFile().getPath();//获取文件路径 System.out.println(resultOpen); return resultOpen; } public String saveWin(){ jfc.setAcceptAllFileFilterUsed(false); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);//只是针对文件夹有效 jfc.setFileFilter( new FileFilter(){ public boolean accept(File f) { // TODO Auto-generated method stub return f.getName().toLowerCase().endsWith(".xls"); } public String getDescription() { // TODO Auto-generated method stub return "Excel File"; } } ); jfc.showSaveDialog(null); String resultSave = jfc.getSelectedFile().getPath(); System.out.println(resultSave); return resultSave; } public void ImportFile() throws Exception{ //文件导入 String filePath = this.openWin(); FileInputStream fis = null; try { // 创建读取文件的流对象 fis = new FileInputStream(filePath); // 创建POI自己的文件对象读取数据 POIFSFileSystem fs = new POIFSFileSystem(fis); // 从输入流对象中创建WorkBook对象 HSSFWorkbook workBook = new HSSFWorkbook(fs); // 取得WorkBook中的页面 HSSFSheet sheet = workBook.getSheetAt(0); int rowCount = sheet.getLastRowNum(); System.out.println(rowCount+" : rowCount"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ fis.close(); } } public void ExportFile(String fileName){ //文件导出 String filePath = this.saveWin(); HSSFWorkbook workBook = new HSSFWorkbook(); //在已经创建的WorkBook中创建一个页面 HSSFSheet sheet = workBook.createSheet(); // 创建一个表头行 HSSFRow headerRow = sheet.createRow(0); //为每一行创建两个格子 HSSFCell cel1 = headerRow.createCell((short)0); HSSFCell cel2 = headerRow.createCell((short)1); // 填充每个行中的格子内容 cel1.setCellValue("第一列"); cel2.setCellValue("第二列"); try{ //写文件,完成保存任务 FileOutputStream fos = new FileOutputStream(filePath+"//"+fileName+".xls"); workBook.write(fos); }catch(Exception e){ e.printStackTrace(); } } public static void main (String[] args) throws Exception{ XXportToExcelDemo ft2 = new XXportToExcelDemo(); //测试 //ft2.ExportFile("测试"); ft2.ImportFile(); } }