Jxl Excel 파일 읽기 및 쓰기

최근에 Excel 파일의 가져오기 내보내기를 사용하려고 합니다. Jxl과poi 두 가지 방식을 비교했습니다. Jxl은 상대적으로 간단하지만 xlsx 형식(2003 이전 버전)은 지원되지 않습니다. 다음은 Jxl의 데모를 먼저 쓰겠습니다.그 방식을 막론하고 Excel을 Workbook(Excel을 대표하는 전체 작업 공간), Sheet(Workbook을 대표하는 모든 Sheet 페이지), Row(Sheet의 모든 줄을 대표), Cell(Row의 모든 블록 요소를 대표)로 나눈다.
1. 사용된 가방
우선 jxl-2.6.12를 가져와야 합니다.가방Maven 좌표:
       
 <dependency>
			<groupId>net.sourceforge.jexcelapi</groupId>
			<artifactId>jxl</artifactId>
			<version>2.6.12</version>
		</dependency>

둘째, Jxl의 읽기와 쓰기 데모
    
package org.andy.excel;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

import org.junit.Test;

public class JxlExcelTest {

	public static void readExcel(String filePath) {
		if (null != filePath && !"".equals(filePath.trim())) {
			Workbook workbook = null;
			InputStream inputStream = null;
			try {
				inputStream = new FileInputStream(filePath);
				workbook = Workbook.getWorkbook(inputStream);
				if (null == workbook) {
					return;
				}
				// sheet
				Sheet sheet = workbook.getSheet(0);

				if (null == sheet) {
					return;
				}
				//  
				for (int i = 0; i < sheet.getRows(); i++) {
					//  
					Cell[] cells = sheet.getRow(i);
					for (Cell cell : cells) {
						System.out.println(cell.getContents());
					}

				}
				
				workbook.close();

			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				if (null != inputStream) {
					try {
						inputStream.close();
					} catch (Exception e) {
						e.printStackTrace();
					}
				}
			}
		}

	}

	public void writeExcel(String filePath) {

		if (null != filePath && !"".equals(filePath.trim())) {

			WritableWorkbook wWorkbook = null;
			OutputStream outputStream = null;

			//  excel workbook
			if (filePath.trim().toLowerCase().endsWith(".xls")) {

				try {
					outputStream = new FileOutputStream(filePath);
					wWorkbook = Workbook.createWorkbook(outputStream);
					WritableSheet wSheet = wWorkbook.createSheet("sheet0", 0);
					//  string
					Label label = new Label(0, 0, "andy string");
					wSheet.addCell(label);
					// write
					wWorkbook.write();
					
					wWorkbook.close();
					
				} catch (Exception e) {
					e.printStackTrace();
				} finally {

					if (null != outputStream) {
						try {
							outputStream.close();
						} catch (Exception e) {
							e.printStackTrace();
						}
					}

				}

			}

		}
	}

	@Test
	public void read() {
		readExcel("C:\\andy1.xls");
	}

	@Test
	public void write() {
		writeExcel("C:\\andy1.xls");
	}
}

좋은 웹페이지 즐겨찾기