[JSE guide]Đọc dữ liệu từ file excel trong Java – Cộng đồng Java Việt Nam | Java Việt Nam | Java SE, Java EE, Android, Spring Framework

Code:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

import java.awt.Desktop;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Method;
import java.sql.*;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class ExportExcel {
    private  Workbook wb;
    private Row row;
    private  Sheet sheet;
    private  File file;
    public void exportTable(String tableName){

    }
    public void insert(ArrayList list,String sheetName,File file){
                prepare(sheetName);
                insertValue(list);
                writeFile(file);
                openFile(file.getPath());
    }
    private  void prepare(String sheetName){
                wb=new HSSFWorkbook();
                int nos=wb.getNumberOfSheets();
        for (int i = 0; i < nos; i++) {
            String sn=wb.getSheetName(i);
            if(sn.equalsIgnoreCase(sheetName)){
                sheetName+="$1";
                                System.out.println(sheetName);
            }
        }
        //tạo worksheet
        sheet = wb.createSheet(sheetName);
                row = sheet.createRow((short)0);
        for (int i = 0; i < 4; i++) {
            Cell cell=row.createCell(i);
            cell.setCellValue("test");
        }

    }
    private  void writeFile(File file){

        try (FileOutputStream fos = new FileOutputStream(file,true)) {
                    try {
                        wb.write(fos);
                    } catch (IOException ex) {
                        Validate.message="Có lỗi";

                    }
                }catch(Exception e){
                        Validate.message="Có lỗi";

                }
    }
    public void insertRoom(){
    }
    private  void insertValue(ArrayList list){
       // row và col là số hàng và cột
          for(int j=0;j<=row;j++){
                        Cell cell;
              row=sheet.createRow(j); // Tạo hàng
                      for (int i = 0; i < col; i++) {
                            value=list.get(i)
                            cell=row.createCell(i); // Tạo ô
                            cell.setCellValue(value); // Thêm giá trị vào ô
            }
        }
    }

    private void openFile(String path){
      try {
                    Desktop desktop = null;
                    if (Desktop.isDesktopSupported()) {
                        desktop = Desktop.getDesktop();
                    }
                        desktop.open(new File(path));
                    } catch (IOException ioe) {
                        System.out.println(ioe.toString());
      }
    }
    public boolean choose(){

        JFileChooser fc = new JFileChooser();
        int save;
        fc.setDialogTitle("Export file");
        save=fc.showSaveDialog(null);

        if(save==JFileChooser.APPROVE_OPTION){
              file = fc.getSelectedFile();
                return true;
        }
        return false;

    }

}