Java POI导出excel经典实现 测试(获取工作日列表+导出Excel)

Java使用poi组件导出excel报表,能导出excel报表的还可以使用jxl组件,但jxl想对于poi功能有限,jxl应该不能载excel插入浮动层图片,poi能很好的实现输出excel各种功能,介绍poi导出excel功能实现案例,算比较常用的功能实现以及导出excel需要注意的地方,采用的是poi-3.8-20120326.jar,poi-ooxml-3.8-20120326.jar,poi-scratchpad-3.8-20120326.jar

1.获取工作日



package com.zhangpan.util.holiday;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

/**
 * 1. 获取工作日期范围 
 * 2. 筛选出工作日(周六-周日不算)
 * 3. 手动插入计算节假日:维护 【工作休息日】 && 【休息工作日】(比如假期周4~周6,那么周日要加班)
 */
public class ValidateHoliday {
	public SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

	public ValidateHoliday() {

	}

	public ValidateHoliday(boolean isShowConsole, String beginDate, String endDate) throws ParseException {
		ValidateHoliday.isShowConsole = isShowConsole;
		this.beginDate = formatter.parse(beginDate);
		this.endDate = formatter.parse(endDate);

	}

	private static boolean isShowConsole = false;// 是否显示控制台
	private Date beginDate;// 开始日期
	private Date endDate;  // 结束日期
	private int workdaySum;// 工作日天数
	private int holidaySum;// 休息日天数

	public void setIsShowConsole(boolean flag) {
		ValidateHoliday.isShowConsole = flag;
	}
	public void setBeginDate(Date beginDate) {
		this.beginDate = beginDate;
	}
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	public int getWorkdaySum() {
		return workdaySum;
	}
	public int getHolidaySum() {
		return holidaySum;
	}
	public static void ConsolePrint(String str) {
		if (isShowConsole) {
			System.out.print(str);
		}
	}
	public static void ConsolePrintln(String str) {
		if (isShowConsole) {
			System.out.println(str);
		}
	}

	/**
	 * 功能: 获取工作日 并标识 1工作日 | -1休息日 
	 * 2017年9月1日下午3:43:37 
	 * Author ZhangPan
	 */
	public List
   
   
    
     getWorkingDay() {
		ConsolePrintln("开始工作日筛选...");
		// 用于存储工作日&工作标识的List
		List
    
    
     
      list = new ArrayList
     
     
      
      ();

		Calendar start = Calendar.getInstance();
		start.setTime(beginDate);
		Calendar end = Calendar.getInstance();
		end.setTime(endDate);
		while (start.compareTo(end) <= 0) {
			//获取星期标识周日 周一  周二 周三 周四  周六  1 2 3 4 5 6 7
			int day = start.get(Calendar.DAY_OF_WEEK);
			// 判断是否是周六周日 -1|1   
			int flag = (day == Calendar.SUNDAY || day =&
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值