XSSF创建高版本Excel


xls一般为Excel 97 03版本


xlsx为更高版本


使用XSSF创建高版本Excel


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

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

public class PoiExpExcel2 {

	/**
	 * POI生成Excel文件(创建高版本Excel)
	 * @param args
	 */
	public static void main(String[] args) {
		
		// 定义Excel的表头
		String[] title = {"id", "name", "sex"};
		
		// 创建Excel工作簿
//		HSSFWorkbook workbook = new HSSFWorkbook();
		
		// 创建高版本Excel(xlsx)
		XSSFWorkbook workbook = new XSSFWorkbook();
		
		// 创建一个工作表sheet
//		HSSFSheet sheet = workbook.createSheet();
		
		Sheet sheet = workbook.createSheet();
		
		// 创建第一行
//		HSSFRow row = sheet.createRow(0);
		
		Row row = sheet.createRow(0);
		
		// 定义Cell
//		HSSFCell cell = null;
		
		Cell cell = null;
		
		// 插入第一行数据 id, name, sex
		for (int i = 0; i < title.length; i++) {
			cell = row.createCell(i);
			cell.setCellValue(title[i]);
		}
		// 追加数据 从第二行开始
		for (int i = 1; i <= 10; i++) {
//			HSSFRow nextrow = sheet.createRow(i);
			
			Row nextrow = sheet.createRow(i);
			
//			HSSFCell cell2 = nextrow.createCell(0);
			
			Cell cell2 = nextrow.createCell(0);
			
			// 为第一个单元格赋值
			cell2.setCellValue("a" + i);
			cell2 = nextrow.createCell(1);
			cell2.setCellValue("user" + i);
			cell2 = nextrow.createCell(2);
			cell2.setCellValue("female" + i);
		}
		// 创建一个文件
//		File file = new File("d:/poi_test.xls");
		
		File file = new File("d:/poi_test.xlsx");
		
		try { // Ctrl + 1 捕获异常
			file.createNewFile();
			// 将Excel内容存盘
			FileOutputStream stream = FileUtils.openOutputStream(file);
			workbook.write(stream);
			stream.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}


XSSF创建高版本Excel_第1张图片



jar包


http://download.csdn.net/download/duanliuchang/9952555




你可能感兴趣的:(Java实现Excel导入导出)