자바 의 poi 기술 읽 기 및 가 져 오기 엑셀 인 스 턴 스

8896 단어 자바poiexcel
보고서 출력 은 자바 응용 개발 에서 자주 언급 되 는 내용 인 데 일반적인 보고 서 는 유 니 버 설 성 이 부족 하여 사용자 가 개성 화 된 편집 을 하 는 데 불편 하 다.자바 프로그램 은 크로스 플랫폼 특성 상 엑셀 을 직접 조작 할 수 없습니다.따라서 본 고 는 POI 시선 자바 프로그램 이 엑셀 을 읽 고 가 져 오 는 것 을 연구 하고 자 한다.
프로젝트 구성:
java_poi_excel

사용 한 Excel 파일:
xls

XlsMain.java 클래스

//   main  ,        ,          poi  Excel(2003 )
 
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
 
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;
 
 
/**
 * 
 * @author Hongten</br>
 * 
 * 
 */
public class XlsMain {
 
  public static void main(String[] args) throws IOException {
    XlsMain xlsMain = new XlsMain();
    XlsDto xls = null;
    List<XlsDto> list = xlsMain.readXls();
     
    try {
      XlsDto2Excel.xlsDto2Excel(list);
    } catch (Exception e) {
      e.printStackTrace();
    }
    for (int i = 0; i < list.size(); i++) {
      xls = (XlsDto) list.get(i);
      System.out.println(xls.getXh() + "  " + xls.getXm() + "  "
          + xls.getYxsmc() + "  " + xls.getKcm() + "  "
          + xls.getCj());
    }
 
  }
 
  /**
   *   xls    
   * 
   * @return List<XlsDto>  
   * @throws IOException
   *         /  (i/o)  
   */
  private List<XlsDto> readXls() throws IOException {
    InputStream is = new FileInputStream("pldrxkxxmb.xls");
    HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
    XlsDto xlsDto = null;
    List<XlsDto> list = new ArrayList<XlsDto>();
    //      Sheet
    for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
      HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
      if (hssfSheet == null) {
        continue;
      }
      //    Row
      for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
        HSSFRow hssfRow = hssfSheet.getRow(rowNum);
        if (hssfRow == null) {
          continue;
        }
        xlsDto = new XlsDto();
        //    Cell
        // 0   1   2   3    4   
        // for (int cellNum = 0; cellNum <=4; cellNum++) {
        HSSFCell xh = hssfRow.getCell(0);
        if (xh == null) {
          continue;
        }
        xlsDto.setXh(getValue(xh));
        HSSFCell xm = hssfRow.getCell(1);
        if (xm == null) {
          continue;
        }
        xlsDto.setXm(getValue(xm));
        HSSFCell yxsmc = hssfRow.getCell(2);
        if (yxsmc == null) {
          continue;
        }
        xlsDto.setYxsmc(getValue(yxsmc));
        HSSFCell kcm = hssfRow.getCell(3);
        if (kcm == null) {
          continue;
        }
        xlsDto.setKcm(getValue(kcm));
        HSSFCell cj = hssfRow.getCell(4);
        if (cj == null) {
          continue;
        }
        xlsDto.setCj(Float.parseFloat(getValue(cj)));
        list.add(xlsDto);
      }
    }
    return list;
  }
 
  /**
   *   Excel    
   * 
   * @param hssfCell
   *      Excel       
   * @return Excel         
   */
  @SuppressWarnings("static-access")
  private String getValue(HSSFCell hssfCell) {
    if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
      //         
      return String.valueOf(hssfCell.getBooleanCellValue());
    } else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
      //         
      return String.valueOf(hssfCell.getNumericCellValue());
    } else {
      //          
      return String.valueOf(hssfCell.getStringCellValue());
    }
  }
 
}
XlsDto2Excel.java 클래스

//       Excel(2003 )     

import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.List;
 
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 
 
public class XlsDto2Excel {
 
  /**
   * 
   * @param xls
   *      XlsDto        
   * @throws Exception
   *          Excel        
   */
  public static void xlsDto2Excel(List<XlsDto> xls) throws Exception {
    //      
    int CountColumnNum = xls.size();
    //   Excel  
    HSSFWorkbook hwb = new HSSFWorkbook();
    XlsDto xlsDto = null;
    // sheet        
    HSSFSheet sheet = hwb.createSheet("pldrxkxxmb");
    HSSFRow firstrow = sheet.createRow(0); //    0    
    HSSFCell[] firstcell = new HSSFCell[CountColumnNum];
    String[] names = new String[CountColumnNum];
    names[0] = "  ";
    names[1] = "  ";
    names[2] = "  ";
    names[3] = "   ";
    names[4] = "  ";
    for (int j = 0; j < CountColumnNum; j++) {
      firstcell[j] = firstrow.createCell(j);
      firstcell[j].setCellValue(new HSSFRichTextString(names[j]));
    }
    for (int i = 0; i < xls.size(); i++) {
      //     
      HSSFRow row = sheet.createRow(i + 1);
      //            
      xlsDto = xls.get(i);
      for (int colu = 0; colu <= 4; colu++) {
        //       
        HSSFCell xh = row.createCell(0);
        xh.setCellValue(xlsDto.getXh());
        HSSFCell xm = row.createCell(1);
        xm.setCellValue(xlsDto.getXm());
        HSSFCell yxsmc = row.createCell(2);
        yxsmc.setCellValue(xlsDto.getYxsmc());
        HSSFCell kcm = row.createCell(3);
        kcm.setCellValue(xlsDto.getKcm());
        HSSFCell cj = row.createCell(4);
        cj.setCellValue(xlsDto.getCj());
(xlsDto.getMessage());
      }
    }
    //        ,        
    OutputStream out = new FileOutputStream("POI2Excel/pldrxkxxmb.xls");
    hwb.write(out);
    out.close();
    System.out.println("       ");
  }
 
}
 

XlsDto.java 클래스

//        

public class XlsDto {
  /**
   *    
   */
  private Integer xkh;
  /**
   *   
   */
  private String xh;
  /**
   *   
   */
  private String xm;
  /**
   *   
   */
  private String yxsmc;
  /**
   *    
   */
  private Integer kch;
  /**
   *    
   */
  private String kcm;
  /**
   *   
   */
  private float cj;
  public Integer getXkh() {
    return xkh;
  }
  public void setXkh(Integer xkh) {
    this.xkh = xkh;
  }
  public String getXh() {
    return xh;
  }
  public void setXh(String xh) {
    this.xh = xh;
  }
  public String getXm() {
    return xm;
  }
  public void setXm(String xm) {
    this.xm = xm;
  }
  public String getYxsmc() {
    return yxsmc;
  }
  public void setYxsmc(String yxsmc) {
    this.yxsmc = yxsmc;
  }
  public Integer getKch() {
    return kch;
  }
  public void setKch(Integer kch) {
    this.kch = kch;
  }
  public String getKcm() {
    return kcm;
  }
  public void setKcm(String kcm) {
    this.kcm = kcm;
  }
  public float getCj() {
    return cj;
  }
  public void setCj(float cj) {
    this.cj = cj;
  }
   
}

배경 출력:
데이터베이스 내 보 내기 성공
1.0    hongten    정보 기술 대학    컴퓨터 네트워크 응용 기초    80.0
2.0    왕 오    정보 기술 대학    컴퓨터 네트워크 응용 기초    81.0
3.0    이승 기    정보 기술 대학    컴퓨터 네트워크 응용 기초    82.0
4.0    오 반고    정보 기술 대학    컴퓨터 네트워크 응용 기초    83.0
5.0    채 시 윤    정보 기술 대학    컴퓨터 네트워크 응용 기초    84.0
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기