当前位置 : 主页 > 编程语言 > java >

Excel中对sheet页基本操作

来源:互联网 收集:自由互联 发布时间:2021-06-28
gistfile1.txt import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFWorkbook;/** * 删除excel中的某一个sheet * @author Tepu * */public class
gistfile1.txt
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * 删除excel中的某一个sheet
 * @author Tepu
 *
 */
public class ExcelSheetUtils {
	public static void main(String[] args) {
		deleteSheet("F:\\temp\\abc.xlsx", "B");
		hiddenSheet("F:\\temp\\abc.xlsx", "C");
		showSheet("F:\\temp\\abc.xlsx", "C");
	}
	
	/**
	 * 删除指定的sheet
	 * @param file 目标文件
	 * @param sheetName sheet名称
	 */
	public static void deleteSheet(String file, String sheetName) {
		try {
			FileInputStream fis = new FileInputStream(file);
			Workbook workbook = new XSSFWorkbook(fis);
			workbook.removeSheetAt(workbook.getSheetIndex(sheetName));
			fileWrite(file, workbook);
			System.out.println("Sheet 删除完成");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 隐藏指定的Sheet
	 * @param file 目标文件 
	 * @param sheetName Sheet名称
	 */
	public static void hiddenSheet(String file, String sheetName) {
		try {
			FileInputStream fis = new FileInputStream(file);
			Workbook workbook = new XSSFWorkbook(fis);
			workbook.setSheetHidden(workbook.getSheetIndex(sheetName), 1);
			fileWrite(file, workbook);
			System.out.println("Sheet 隐藏完成");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 隐藏指定的Sheet
	 * @param file 目标文件 
	 * @param sheetName Sheet名称
	 */
	public static void showSheet(String file, String sheetName) {
		try {
			FileInputStream fis = new FileInputStream(file);
			Workbook workbook = new XSSFWorkbook(fis);
			workbook.setSheetHidden(workbook.getSheetIndex(sheetName), 0);
			fileWrite(file, workbook);
			System.out.println("Sheet 显示完成");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 写隐藏/删除后的Excel文件
	 * @param file 目标文件 
	 * @param workbook Excel对象 
	 */
	public static void fileWrite(String file, Workbook workbook) {
		try {
			FileOutputStream fos = new FileOutputStream(file);
			workbook.write(fos);
			fos.flush();
			fos.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
网友评论