现在的位置: 首页 > 综合 > 正文

Java【代码】使用PIO操作Excel的Demo

2018年08月27日 ⁄ 综合 ⁄ 共 2388字 ⁄ 字号 评论关闭
package com.test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

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;

public class ExcelPOI {
	
	/** Excel文件要存放的位置,假定在D盘JTest目录下 */
	public static String outputFile = "D:/JTest/test.xls";
	
	/** Excel文件的存放位置。注意是正斜线 */
	public static String fileToBeRead = "D:/JTest/test.xls";
	
	public static void main(String[] args) {
		ExcelPOI poi = new ExcelPOI();
		poi.writeExcel();
		poi.readExcel();
	}
	
	//写入
	public void writeExcel() {
		try {
			//创建新的Excel工作薄
			HSSFWorkbook workBook = new HSSFWorkbook();
			//在Excel工作薄中建一工作表,起名字为缺省值
				//如果要新建一个名为“效益指标”的工作表,其语句为:
				//HSSFSheet sheet = workbook.createSheet("效益指标");
			HSSFSheet sheet = workBook.createSheet();
			//在索引0的位置创建行(最顶端的行)
			HSSFRow row = sheet.createRow((short)0);
			//在索引0的位置创建单元格(左上端)
			HSSFCell cell = row.createCell(0);
			//定义单元格为字符串类型
			cell.setCellType(HSSFCell.CELL_TYPE_STRING);
			//在单元格中输入一些内容
			cell.setCellValue("增加值");
			//新建一输出文件流
			FileOutputStream fOut = new FileOutputStream(outputFile);
			//把相应的excel工作薄存盘
			workBook.write(fOut);
			fOut.flush();
			//操作结束,关闭文件
			fOut.close();
			System.out.println("文件生成……");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//读取
	public void readExcel() {
		try {
			//创建对Excel工作薄文件的引用
			HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
			//创建对工作表的引用。
			//本例是按名称引用(让我们假定那张表有缺省名“sheet1“)
			HSSFSheet sheet = workbook.getSheet("Sheet0");
			//也可用getSheetAt(int index)按索引引用,
			//在excel文档中,第一章工作表的缺省索引是0,
			//其语句为:HSSFSheet sheet = workbook.getSheetAt(0);
			//读取左上端单元
			HSSFRow row = sheet.getRow(0);
			HSSFCell cell = row.getCell(0);
			//输出单元内容,cell.getStringCellValue()就是取所在单元的值
			System.out.println("左上端单元是:" + cell.getStringCellValue());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//设置单元格
	/**
	 * 在这里,我们将只介绍一些和格式有关的语句,我们假定workbook就是对一个工作薄的引用。
	 * 在java中,第一部要做的就是创建和设置字体和单元格的格式,然后在应用这些格式:
	 * 
	 * 1、创建字体,设置其为红色、粗体:
	 * HSSFFont font = workbook.createFont();
	 * font.setColor(HSSFFont.COLOR_RED);
	 * font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
	 * 
	 * 2、创建格式
	 * HSSFCellStyle cellStyle = workbook.createCellStyle();
	 * cellStyle.setFont(font);
	 * 
	 * 3、应用格式
	 * HSSFCell cell = row.createCell((short)0);
	 * cell.setCellStyle(cellStyle);
	 * cell.setCellType(HSSFCell.CELL_TYPE_STRING);
	 * cell.setCellValue("标题");
	 * 
	 * 总之,如本篇文章所演示的一样,java程序员不必担心excel工作表中的数据了,利用Jakarta POI
	 * API,我们就可以轻易的在程序中存取excel文档。
	 */
	
}

抱歉!评论已关闭.