1. 程式人生 > >java匯入和匯出excel文件(支援xls,xlsx格式)

java匯入和匯出excel文件(支援xls,xlsx格式)

好久沒寫部落格了,寫個簡單的估計也是常用的,歡迎評判指導交流

相關jar包,可以先百度,因為時間問題後續再補上

package main.java;

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

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;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * xls工具類
 * 
 * @author hjn
 * 
 */
public class XlsUtil {
	
	public static void read(String filePath) throws IOException {
		String fileType = filePath.substring(filePath.lastIndexOf(".") + 1, filePath.length());
		InputStream stream = new FileInputStream(filePath);
		Workbook wb = null;
		if (fileType.equals("xls")) {
			wb = new HSSFWorkbook(stream);
		} else if (fileType.equals("xlsx")) {
			wb = new XSSFWorkbook(stream);
		} else {
			System.out.println("您輸入的excel格式不正確");
		}
		Sheet sheet1 = wb.getSheetAt(0);
		for (Row row : sheet1) {
			for (Cell cell : row) {
				System.out.print(cell.getStringCellValue() + "  ");
			}
			System.out.println();
		}
	}

	public static boolean write(String outPath) throws Exception {
		String fileType = outPath.substring(outPath.lastIndexOf(".") + 1, outPath.length());
		System.out.println(fileType);
		// 建立工作文件物件
		Workbook wb = null;
		if (fileType.equals("xls")) {
			wb = new HSSFWorkbook();
		} else if (fileType.equals("xlsx")) {
			wb = new XSSFWorkbook();
		} else {
			System.out.println("您的文件格式不正確!");
			return false;
		}
		// 建立sheet物件
		Sheet sheet1 = (Sheet) wb.createSheet("sheet1");
		// 迴圈寫入行資料
		for (int i = 0; i < 5; i++) {
			Row row = (Row) sheet1.createRow(i);
			// 迴圈寫入列資料
			for (int j = 0; j < 8; j++) {
				Cell cell = row.createCell(j);
				cell.setCellValue("測試" + j);
			}
		}
		// 建立檔案流
		OutputStream stream = new FileOutputStream(outPath);
		// 寫入資料
		wb.write(stream);
		// 關閉檔案流
		stream.close();
		return true;
	}


	public static void main(String[] args) {
		try {
			XlsUtil.write("D:" + File.separator + "out.xlsx");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			XlsUtil.read("D:" + File.separator + "out.xlsx");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}