当前位置:编程学习 > XML/UML >>

[java]实现导出Excel文件和XML文件

一、功能简述

点击“导出”按钮,弹出文件选择对话框,选择存放路径,填写文件名,点击“导出”按钮导出界面上table中的数据到指定路径

添加:dom4j-1.6.1.jar,用于XML

二、实现效果

2.1 界面数据

 

2.2 文件选择对话框


2.3 导出成功后,文件内容

 

三、代码

[java]
public class ExportFileService { 
    private static final String SAVEPATH = "D:\\";  
    private static final String BUTTONTEXT = "导出";   
    private static final String  TITLE = "导出数据";   
    public ExportFileService(){ 
         
    } 
    /**
     * 
     * @param filters  可选择的导出类型
     * @return file[0] 文件全路径;file[1] 导出类型
     */ 
    public static String[] exportFile(List<FileFilter> filters){   
        JFileChooser fileChooser = initEmportFile(filters); 
        int result = fileChooser.showOpenDialog(null); 
        String type = fileChooser.getFileFilter().getDescription(); 
        if (result == JFileChooser.APPROVE_OPTION) { 
            File file = fileChooser.getSelectedFile(); 
            String fn = file.getPath(); 
            String[] fileAndType = new String[2]; 
            fileAndType[0]=fn; 
            fileAndType[1]=type; 
            return fileAndType; 
        } 
        return null; 
    } 
    /**
     * 文件对话框中判断是否覆盖已存在文件,加入带导入类型
     * @param filters 可选择的导入类型
     * @return 文件选择框
     */ 
    private static JFileChooser initEmportFile(List<FileFilter> filters) { 
        JFileChooser fileChooser = new JFileChooser(SAVEPATH) { 
            private static final long serialVersionUID = 1L; 
 
            public void approveSelection() { 
                File file; 
                String fileName = this.getSelectedFile().getAbsolutePath(); 
 
                file = new File(fileName); 
                if (file.exists()) { 
                    int copy = JOptionPane.showConfirmDialog(null, 
                            "是否要覆盖当前文件?", "保存", JOptionPane.YES_NO_OPTION, 
                            JOptionPane.QUESTION_MESSAGE); 
                    if (copy == JOptionPane.YES_OPTION) { 
                        super.setSelectedFile(file); 
                        super.approveSelection(); 
                    } 
                } else 
                    super.approveSelection(); 
            } 
        }; 
        fileChooser.setAcceptAllFileFilterUsed(false); 
        fileChooser.setApproveButtonText(BUTTONTEXT); 
        fileChooser.setDialogTitle(TITLE); 
        for(FileFilter one :filters){ 
            fileChooser.addChoosableFileFilter( one); 
        } 
        return fileChooser; 
    } 
    /**
     * 创建新的Excel 工作簿
     * @param filename 待导出文件名称的全路径,不带后缀
     * @param data 待导出数据,首个list<Object>是字段信息
     * @param sheetName 表单名称
     * @return true 导出成功;false 导出失败
     */ 
    @SuppressWarnings("deprecation") 
    public static boolean createExcel(String filename, List<List<Object>> data, 
            String sheetName) {  
        HSSFWorkbook workbook = null; 
        HSSFSheet sheet = null; 
        HSSFRow[] rows = null; 
        HSSFCell[][] cells = null; 
        workbook = new HSSFWorkbook(); 
        if (sheetName.trim().equals("")) { 
            sheet = workbook.createSheet("表"); 
        } else { 
            sheet = workbook.createSheet(sheetName); 
        } 
        try { 
            int row

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,