Developer MJ Story

[java/jxl] 자바에서 excel파일 write 하기 본문

Software/Java

[java/jxl] 자바에서 excel파일 write 하기

집근처 2014. 6. 12. 21:43
반응형

이번 포스팅에서는 자바에서 excel 파일 write 하는 방법에 대해 포스팅 하겠습니다.

이전 포스팅에서 read한 1차원 String 배열을 'write.xls' excel 파일을 만들어 write하는 코드입니다.

Write할 때 유의 사항은 종료할 때 writableWorkBook 객체에서 write()함수를 호출하고, close() 합니다.

writableWorkBook 객체 선언도 멤버변수로 선언해서 중복 선언되지 안도록 하는 것이 좋을 것입니다.

 

-- 함수 설명 --

Excel을 파일에 wirte 할 때 필요한 함수

  1. startExcel()

    excel 파일을 load하는 함수

2. writeContents()
1차원 String 배열을 받아 차레대로 excel 파일에 write 하는 함수

3. endExcel()
실제 excel 파일에 write하고, excel 파일을 close() 하는 함수

 

WritableWorkbook mWritableWorkBook;

    String mExcelFilePath;

 

    public ExcelWriteContents(String readFilePath) {

        mExcelFilePath = readFilePath;

    }

    

    public void startEcxel() {

        try {

            File f = new File(mExcelFilePath);

            String dir = f.getParent();

            File targetFile = new File(dir + "/write.xls");

            System.out.println(targetFile.isFile());

            mWritableWorkBook = Workbook.createWorkbook(targetFile);

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

    

    public void writeContents(String keyword, int sheetCnt,

            String[] contents) {

        try {

            WritableSheet sheet = mWritableWorkBook.createSheet(keyword, sheetCnt);

 

            for (int i = 0; i < contents.length; i++) {

                if (contents[i] == null) {

                    continue;

                }

                Label label = new Label(i, j, contents[i]);

                sheet.addCell(label);

                System.out.println("[" + i + "] : " + contents[i]);                

            }

        } catch (WriteException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

 

    public void endExcel() {

        try {

            mWritableWorkBook.write();

            mWritableWorkBook.close();

        } catch (IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (WriteException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

반응형