话不多说,直接代码
1.javaExcle.Java
package Excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
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;
public class javaExcle {
// 总行数
private int totalRow = 0;
// 总列数
private int totalCell = 0;
public javaExcle() {
}
public int getTotalRow() {
return totalRow;
}
public void setTotalRow(int totalRow) {
this.totalRow = totalRow;
}
public int getTotalCell() {
return totalCell;
}
public void setTotalCell(int totalCell) {
this.totalCell = totalCell;
}
public List<ArrayList<String>> read(String fileName) {
List<ArrayList<String>> dataList = new ArrayList<ArrayList<String>>();
File file = new File(fileName);
if (file == null || !file.exists()) {
return dataList;
}
try {
dataList = read(new FileInputStream(file));
} catch (Exception e) {
e.printStackTrace();
}
return dataList;
}
public List<ArrayList<String>> read(InputStream inputStream) {
List<ArrayList<String>> dataList = null;
try {
Workbook wb = new XSSFWorkbook(inputStream);
dataList = readwb(wb);
} catch (IOException e) {
e.printStackTrace();
}
return dataList;
}
public List<ArrayList<String>> readwb(Workbook wb) {
List<ArrayList<String>> dataList = new ArrayList<ArrayList<String>>();
DateUtil dateUnit = new DateUtil();
// 得到第一个shell
Sheet sheet = wb.getSheetAt(0);
this.totalRow = sheet.getPhysicalNumberOfRows();
if (this.totalRow >= 1 && sheet.getRow(0) != null) {
this.totalCell = sheet.getRow(0).getPhysicalNumberOfCells();
}
for (int r = 0; r < this.totalRow; r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
ArrayList<String> rowLst = new ArrayList<String>();
for (short c = 0; c < this.getTotalCell(); c++) {
Cell cell = row.getCell(c);
String cellValue = "";
if (cell == null) {
rowLst.add(cellValue);
continue;
}
/** */
/** 处理数字型的,自动去零 */
if (Cell.CELL_TYPE_NUMERIC == cell.getCellType()) {
/** */
/** 在excel里,日期也是数字,在此要进行判断 */
if (HSSFDateUtil.isCellDateFormatted(cell)) {
cellValue = dateUnit.DateToString(
cell.getDateCellValue(), cellValue);
} else {
cellValue = getRightStr(cell.getNumericCellValue() + "");
}
}
/** */
/** 处理字符串型 */
else if (Cell.CELL_TYPE_STRING == cell.getCellType()) {
cellValue = cell.getStringCellValue();
}
/** */
/** 处理布尔型 */
else if (Cell.CELL_TYPE_BOOLEAN == cell.getCellType()) {
cellValue = cell.getBooleanCellValue() + "";
}
/** */
/** 其它的,非以上几种数据类型 */
else {
cellValue = cell.toString() + "";
}
rowLst.add(cellValue);
}
dataList.add(rowLst);
}
return dataList;
}
private String getRightStr(String sNum) {
DecimalFormat decimalFormat = new DecimalFormat("#.000000");
String resultStr = decimalFormat.format(new Double(sNum));
if (resultStr.matches("^[-+]?\\d+\\.[0]+$")) {
resultStr = resultStr.substring(0, resultStr.indexOf("."));
}
return resultStr;
}
public static void main(String[] args) throws Exception {
List<ArrayList<String>> dataList = new javaExcle().read("d:/a.xlsx");
// System.out.println(dataLst);
for (ArrayList<String> innerLst : dataList) {
StringBuffer rowData = new StringBuffer();
for (String dataStr : innerLst) {
rowData.append(",").append(dataStr);
}
if (rowData.length() > 0) {
System.out.println(rowData.toString());
}
}
}
}
2. Week.Java
package Excel;
public enum Week {
MONDAY("星期一", "Monday", "Mon.", 1), TUESDAY("星期二", "Tuesday", "Tues.", 2), WEDNESDAY(
"星期三", "Wednesday", "Wed.", 3), THURSDAY("星期四", "Thursday",
"Thur.", 4), FRIDAY("星期五", "Friday", "Fri.", 5), SATURDAY("星期六",
"Saturday", "Sat.", 6), SUNDAY("星期日", "Sunday", "Sun.", 7);
String name_cn;
String name_en;
String name_enShort;
int number;
Week(String name_cn, String name_en, String name_enShort, int number) {
this.name_cn = name_cn;
this.name_en = name_en;
this.name_enShort = name_enShort;
this.number = number;
}
public String getChineseName() {
return name_cn;
}
public String getName() {
return name_en;
}
public String getShortName() {
return name_enShort;
}
public int getNumber() {
return number;
}
}
3 DateUtil.java
package Excel;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DateUtil {
private static final ThreadLocal<SimpleDateFormat> threadLocal = new ThreadLocal<SimpleDateFormat>();
private static final Object object = new Object();
/**
* 获取SimpleDateFormat
*
* @param pattern
* 日期格式
* @return SimpleDateFormat对象
* @throws RuntimeException
* 异常:非法日期格式
*/
private static SimpleDateFormat getDateFormat(String pattern)
throws RuntimeException {
SimpleDateFormat dateFormat = threadLocal.get();
if (dateFormat == null) {
synchronized (object) {
if (dateFormat == null) {
dateFormat = new SimpleDateFormat(pattern);
dateFormat.setLenient(false);
threadLocal.set(dateFormat);
}
}
}
dateFormat.applyPattern(pattern);
return dateFormat;
}
/**
* 获取日期中的某数值。如获取月份
*
* @param date
* 日期
* @param dateType
* 日期格式
* @return 数值
*/
private static int getInteger(Date date, int dateType) {
int num = 0;
Calendar calendar = Calendar.getInstance();
if (date != null) {
calendar.setTime(date);
num = calendar.get(dateType);
}
return num;
}
/**
* 增加日期中某类型的某数值。如增加日期
*
* @param date
* 日期字符串
* @param dateType
* 类型
* @param amount
* 数值
* @return 计算后日期字符串
*/
private static String addInteger(String date, int dateType, int amount) {
String dateString = null;
DateStyle dateStyle = getDateStyle(date);
if (dateStyle != null) {
Date myDate = StringToDate(date, dateStyle);
myDate = addInteger(myDate, dateType, amount);
dateString = DateToString(myDate, dateStyle);
}
return dateString;
}
/**
* 增加日期中某类型的某数值。如增加日期
*
* @param date
* 日期
* @param dateType
* 类型
* @param amount
* 数值
* @return 计算后日期
*/
private static Date addInteger(Date date, int dateType, int amount) {
Date myDate = null;
if (date != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(dateType, amount);
myDate = calendar.getTime();
}
return myDate;
}
private static Date getAccurateDate(List<Long> timestamps) {
Date date = null;
long timestamp = 0;
Map<Long, long[]> map = new HashMap<Long, long[]>();
List<Long> absoluteValues = new ArrayList<Long>();
if (timestamps != null && timestamps.size() > 0) {
if (timestamps.size() > 1) {
for (int i = 0; i < timestamps.size(); i++) {
for (int j = i + 1; j < timestamps.size(); j++) {
long absoluteValue = Math.abs(timestamps.get(i)
- timestamps.get(j));
absoluteValues.add(absoluteValue);
long[] timestampTmp = { timestamps.get(i),
timestamps.get(j) };
map.put(absoluteValue, timestampTmp);
}
}
// 有可能有相等的情况。如2012-11和2012-11-01。时间戳是相等的。此时minAbsoluteValue为0
// 因此不能将minAbsoluteValue取默认值0
long minAbsoluteValue = -1;
if (!absoluteValues.isEmpty()) {
minAbsoluteValue = absoluteValues.get(0);
for (int i = 1; i < absoluteValues.size(); i++) {
if (minAbsoluteValue > absoluteValues.get(i)) {
minAbsoluteValue = absoluteValues.get(i);
}
}
}
if (minAbsoluteValue != -1) {
long[] timestampsLastTmp = map.get(minAbsoluteValue);
long dateOne = timestampsLastTmp[0];
long dateTwo = timestampsLastTmp[1];
if (absoluteValues.size() > 1) {
timestamp = Math.abs(dateOne) > Math.abs(dateTwo) ? dateOne
: dateTwo;
}
}
} else {
timestamp = timestamps.get(0);
}
}
if (timestamp != 0) {
date = new Date(timestamp);
}
return date;
}
/**
* 判断字符串是否为日期字符串
*
* @param date
* 日期字符串
* @return true or false
*/
public static boolean isDate(String date) {
boolean isDate = false;
if (date != null) {
if (getDateStyle(date) != null) {
isDate = true;
}
}
return isDate;
}
/**
* 获取日期字符串的日期风格。失敗返回null。
*
* @param date
* 日期字符串
* @return 日期风格
*/
public static DateStyle getDateStyle(String date) {
DateStyle dateStyle = null;
Map<Long, DateStyle> map = new HashMap<Long, DateStyle>();
List<Long> timestamps = new ArrayList<Long>();
for (DateStyle style : DateStyle.values()) {
if (style.isShowOnly()) {
continue;
}
Date dateTmp = null;
if (date != null) {
try {
ParsePosition pos = new ParsePosition(0);
dateTmp = getDateFormat(style.getValue()).parse(date, pos);
if (pos.getIndex() != date.length()) {
dateTmp = null;
}
} catch (Exception e) {
}
}
if (dateTmp != null) {
timestamps.add(dateTmp.getTime());
map.put(dateTmp.getTime(), style);
}
}
Date accurateDate = getAccurateDate(timestamps);
if (accurateDate != null) {
dateStyle = map.get(accurateDate.getTime());
}
return dateStyle;
}
/**
* 将日期字符串转化为日期。失败返回null。
*
* @param date
* 日期字符串
* @return 日期
*/
public static Date StringToDate(String date) {
DateStyle dateStyle = getDateStyle(date);
return StringToDate(date, dateStyle);
}
/**
* 将日期字符串转化为日期。失败返回null。
*
* @param date
* 日期字符串
* @param pattern
* 日期格式
* @return 日期
*/
public static Date StringToDate(String date, String pattern) {
Date myDate = null;
if (date != null) {
try {
myDate = getDateFormat(pattern).parse(date);
} catch (Exception e) {
}
}
return myDate;
}
/**
* 将日期字符串转化为日期。失败返回null。
*
* @param date
* 日期字符串
* @param dateStyle
* 日期风格
* @return 日期
*/
public static Date StringToDate(String date, DateStyle dateStyle) {
Date myDate = null;
if (dateStyle != null) {
myDate = StringToDate(date, dateStyle.getValue());
}
return myDate;
}
/**
* 将日期转化为日期字符串。失败返回null。
*
* @param date
* 日期
* @param pattern
* 日期格式
* @return 日期字符串
*/
public static String DateToString(Date date, String pattern) {
String dateString = null;
if (date != null) {
try {
dateString = getDateFormat(pattern).format(date);
} catch (Exception e) {
}
}
return dateString;
}
/**
* 将日期转化为日期字符串。失败返回null。
*
* @param date
* 日期
* @param dateStyle
* 日期风格
* @return 日期字符串
*/
public static String DateToString(Date date, DateStyle dateStyle) {
String dateString = null;
if (dateStyle != null) {
dateString = DateToString(date, dateStyle.getValue());
}
return dateString;
}
/**
* 将日期字符串转化为另一日期字符串。失败返回null。
*
* @param date
* 旧日期字符串
* @param newPattern
* 新日期格式
* @return 新日期字符串
*/
public static String StringToString(String date, String newPattern) {
DateStyle oldDateStyle = getDateStyle(date);
return StringToString(date, oldDateStyle, newPattern);
}
/**
* 将日期字符串转化为另一日期字符串。失败返回null。
*
* @param date
* 旧日期字符串
* @param newDateStyle
* 新日期风格
* @return 新日期字符串
*/
public static String StringToString(String date, DateStyle newDateStyle) {
DateStyle oldDateStyle = getDateStyle(date);
return StringToString(date, oldDateStyle, newDateStyle);
}
/**
* 将日期字符串转化为另一日期字符串。失败返回null。
*
* @param date
* 旧日期字符串
* @param olddPattern
* 旧日期格式
* @param newPattern
* 新日期格式
* @return 新日期字符串
*/
public static String StringToString(String date, String olddPattern,
String newPattern) {
return DateToString(StringToDate(date, olddPattern), newPattern);
}
/**
* 将日期字符串转化为另一日期字符串。失败返回null。
*
* @param date
* 旧日期字符串
* @param olddDteStyle
* 旧日期风格
* @param newParttern
* 新日期格式
* @return 新日期字符串
*/
public static String StringToString(String date, DateStyle olddDteStyle,
String newParttern) {
String dateString = null;
if (olddDteStyle != null) {
dateString = StringToString(date, olddDteStyle.getValue(),
newParttern);
}
return dateString;
}
/**
* 将日期字符串转化为另一日期字符串。失败返回null。
*
* @param date
* 旧日期字符串
* @param olddPattern
* 旧日期格式
* @param newDateStyle
* 新日期风格
* @return 新日期字符串
*/
public static String StringToString(String date, String olddPattern,
DateStyle newDateStyle) {
String dateString = null;
if (newDateStyle != null) {
dateString = StringToString(date, olddPattern,
newDateStyle.getValue());
}
return dateString;
}
/**
* 将日期字符串转化为另一日期字符串。失败返回null。
*
* @param date
* 旧日期字符串
* @param olddDteStyle
* 旧日期风格
* @param newDateStyle
* 新日期风格
* @return 新日期字符串
*/
public static String StringToString(String date, DateStyle olddDteStyle,
DateStyle newDateStyle) {
String dateString = null;
if (olddDteStyle != null && newDateStyle != null) {
dateString = StringToString(date, olddDteStyle.getValue(),
newDateStyle.getValue());
}
return dateString;
}
/**
* 增加日期的年份。失败返回null。
*
* @param date
* 日期
* @param yearAmount
* 增加数量。可为负数
* @return 增加年份后的日期字符串
*/
public static String addYear(String date, int yearAmount) {
return addInteger(date, Calendar.YEAR, yearAmount);
}
/**
* 增加日期的年份。失败返回null。
*
* @param date
* 日期
* @param yearAmount
* 增加数量。可为负数
* @return 增加年份后的日期
*/
public static Date addYear(Date date, int yearAmount) {
return addInteger(date, Calendar.YEAR, yearAmount);
}
/**
* 增加日期的月份。失败返回null。
*
* @param date
* 日期
* @param monthAmount
* 增加数量。可为负数
* @return 增加月份后的日期字符串
*/
public static String addMonth(String date, int monthAmount) {
return addInteger(date, Calendar.MONTH, monthAmount);
}
/**
* 增加日期的月份。失败返回null。
*
* @param date
* 日期
* @param monthAmount
* 增加数量。可为负数
* @return 增加月份后的日期
*/
public static Date addMonth(Date date, int monthAmount) {
return addInteger(date, Calendar.MONTH, monthAmount);
}
/**
* 增加日期的天数。失败返回null。
*
* @param date
* 日期字符串
* @param dayAmount
* 增加数量。可为负数
* @return 增加天数后的日期字符串
*/
public static String addDay(String date, int dayAmount) {
return addInteger(date, Calendar.DATE, dayAmount);
}
/**
* 增加日期的天数。失败返回null。
*
* @param date
* 日期
* @param dayAmount
* 增加数量。可为负数
* @return 增加天数后的日期
*/
public static Date addDay(Date date, int dayAmount) {
return addInteger(date, Calendar.DATE, dayAmount);
}
/**
* 增加日期的小时。失败返回null。
*
* @param date
* 日期字符串
* @param hourAmount
* 增加数量。可为负数
* @return 增加小时后的日期字符串
*/
public static String addHour(String date, int hourAmount) {
return addInteger(date, Calendar.HOUR_OF_DAY, hourAmount);
}
/**
* 增加日期的小时。失败返回null。
*
* @param date
* 日期
* @param hourAmount
* 增加数量。可为负数
* @return 增加小时后的日期
*/
public static Date addHour(Date date, int hourAmount) {
return addInteger(date, Calendar.HOUR_OF_DAY, hourAmount);
}
/**
* 增加日期的分钟。失败返回null。
*
* @param date
* 日期字符串
* @param minuteAmount
* 增加数量。可为负数
* @return 增加分钟后的日期字符串
*/
public static String addMinute(String date, int minuteAmount) {
return addInteger(date, Calendar.MINUTE, minuteAmount);
}
/**
* 增加日期的分钟。失败返回null。
*
* @param date
* 日期
* @param dayAmount
* 增加数量。可为负数
* @return 增加分钟后的日期
*/
public static Date addMinute(Date date, int minuteAmount) {
return addInteger(date, Calendar.MINUTE, minuteAmount);
}
/**
* 增加日期的秒钟。失败返回null。
*
* @param date
* 日期字符串
* @param dayAmount
* 增加数量。可为负数
* @return 增加秒钟后的日期字符串
*/
public static String addSecond(String date, int secondAmount) {
return addInteger(date, Calendar.SECOND, secondAmount);
}
/**
* 增加日期的秒钟。失败返回null。
*
* @param date
* 日期
* @param dayAmount
* 增加数量。可为负数
* @return 增加秒钟后的日期
*/
public static Date addSecond(Date date, int secondAmount) {
return addInteger(date, Calendar.SECOND, secondAmount);
}
/**
* 获取日期的年份。失败返回0。
*
* @param date
* 日期字符串
* @return 年份
*/
public static int getYear(String date) {
return getYear(StringToDate(date));
}
/**
* 获取日期的年份。失败返回0。
*
* @param date
* 日期
* @return 年份
*/
public static int getYear(Date date) {
return getInteger(date, Calendar.YEAR);
}
/**
* 获取日期的月份。失败返回0。
*
* @param date
* 日期字符串
* @return 月份
*/
public static int getMonth(String date) {
return getMonth(StringToDate(date));
}
/**
* 获取日期的月份。失败返回0。
*
* @param date
* 日期
* @return 月份
*/
public static int getMonth(Date date) {
return getInteger(date, Calendar.MONTH) + 1;
}
/**
* 获取日期的天数。失败返回0。
*
* @param date
* 日期字符串
* @return 天
*/
public static int getDay(String date) {
return getDay(StringToDate(date));
}
/**
* 获取日期的天数。失败返回0。
*
* @param date
* 日期
* @return 天
*/
public static int getDay(Date date) {
return getInteger(date, Calendar.DATE);
}
/**
* 获取日期的小时。失败返回0。
*
* @param date
* 日期字符串
* @return 小时
*/
public static int getHour(String date) {
return getHour(StringToDate(date));
}
/**
* 获取日期的小时。失败返回0。
*
* @param date
* 日期
* @return 小时
*/
public static int getHour(Date date) {
return getInteger(date, Calendar.HOUR_OF_DAY);
}
/**
* 获取日期的分钟。失败返回0。
*
* @param date
* 日期字符串
* @return 分钟
*/
public static int getMinute(String date) {
return getMinute(StringToDate(date));
}
/**
* 获取日期的分钟。失败返回0。
*
* @param date
* 日期
* @return 分钟
*/
public static int getMinute(Date date) {
return getInteger(date, Calendar.MINUTE);
}
/**
* 获取日期的秒钟。失败返回0。
*
* @param date
* 日期字符串
* @return 秒钟
*/
public static int getSecond(String date) {
return getSecond(StringToDate(date));
}
/**
* 获取日期的秒钟。失败返回0。
*
* @param date
* 日期
* @return 秒钟
*/
public static int getSecond(Date date) {
return getInteger(date, Calendar.SECOND);
}
/**
* 获取日期 。默认yyyy-MM-dd格式。失败返回null。
*
* @param date
* 日期字符串
* @return 日期
*/
public static String getDate(String date) {
return StringToString(date, DateStyle.YYYY_MM_DD);
}
/**
* 获取日期。默认yyyy-MM-dd格式。失败返回null。
*
* @param date
* 日期
* @return 日期
*/
public static String getDate(Date date) {
return DateToString(date, DateStyle.YYYY_MM_DD);
}
/**
* 获取日期的时间。默认HH:mm:ss格式。失败返回null。
*
* @param date
* 日期字符串
* @return 时间
*/
public static String getTime(String date) {
return StringToString(date, DateStyle.HH_MM_SS);
}
/**
* 获取日期的时间。默认HH:mm:ss格式。失败返回null。
*
* @param date
* 日期
* @return 时间
*/
public static String getTime(Date date) {
return DateToString(date, DateStyle.HH_MM_SS);
}
/**
* 获取日期的星期。失败返回null。
*
* @param date
* 日期字符串
* @return 星期
*/
public static Week getWeek(String date) {
Week week = null;
DateStyle dateStyle = getDateStyle(date);
if (dateStyle != null) {
Date myDate = StringToDate(date, dateStyle);
week = getWeek(myDate);
}
return week;
}
/**
* 获取日期的星期。失败返回null。
*
* @param date
* 日期
* @return 星期
*/
public static Week getWeek(Date date) {
Week week = null;
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int weekNumber = calendar.get(Calendar.DAY_OF_WEEK) - 1;
switch (weekNumber) {
case 0:
week = Week.SUNDAY;
break;
case 1:
week = Week.MONDAY;
break;
case 2:
week = Week.TUESDAY;
break;
case 3:
week = Week.WEDNESDAY;
break;
case 4:
week = Week.THURSDAY;
break;
case 5:
week = Week.FRIDAY;
break;
case 6:
week = Week.SATURDAY;
break;
}
return week;
}
/**
* 获取两个日期相差的天数
*
* @param date
* 日期字符串
* @param otherDate
* 另一个日期字符串
* @return 相差天数。如果失败则返回-1
*/
public static int getIntervalDays(String date, String otherDate) {
return getIntervalDays(StringToDate(date), StringToDate(otherDate));
}
/**
* @param date
* 日期
* @param otherDate
* 另一个日期
* @return 相差天数。如果失败则返回-1
*/
public static int getIntervalDays(Date date, Date otherDate) {
int num = -1;
Date dateTmp = DateUtil.StringToDate(DateUtil.getDate(date),
DateStyle.YYYY_MM_DD);
Date otherDateTmp = DateUtil.StringToDate(DateUtil.getDate(otherDate),
DateStyle.YYYY_MM_DD);
if (dateTmp != null && otherDateTmp != null) {
long time = Math.abs(dateTmp.getTime() - otherDateTmp.getTime());
num = (int) (time / (24 * 60 * 60 * 1000));
}
return num;
}
}
4. DateStyle.java
package Excel;
public enum DateStyle {
YYYY_MM("yyyy-MM", false), YYYY_MM_DD("yyyy-MM-dd", false), YYYY_MM_DD_HH_MM(
"yyyy-MM-dd HH:mm", false), YYYY_MM_DD_HH_MM_SS(
"yyyy-MM-dd HH:mm:ss", false),
YYYY_MM_EN("yyyy/MM", false), YYYY_MM_DD_EN("yyyy/MM/dd", false), YYYY_MM_DD_HH_MM_EN(
"yyyy/MM/dd HH:mm", false), YYYY_MM_DD_HH_MM_SS_EN(
"yyyy/MM/dd HH:mm:ss", false),
YYYY_MM_CN("yyyy年MM月", false), YYYY_MM_DD_CN("yyyy年MM月dd日", false), YYYY_MM_DD_HH_MM_CN(
"yyyy年MM月dd日 HH:mm", false), YYYY_MM_DD_HH_MM_SS_CN(
"yyyy年MM月dd日 HH:mm:ss", false),
HH_MM("HH:mm", true), HH_MM_SS("HH:mm:ss", true),
MM_DD("MM-dd", true), MM_DD_HH_MM("MM-dd HH:mm", true), MM_DD_HH_MM_SS(
"MM-dd HH:mm:ss", true),
MM_DD_EN("MM/dd", true), MM_DD_HH_MM_EN("MM/dd HH:mm", true), MM_DD_HH_MM_SS_EN(
"MM/dd HH:mm:ss", true),
MM_DD_CN("MM月dd日", true), MM_DD_HH_MM_CN("MM月dd日 HH:mm", true), MM_DD_HH_MM_SS_CN(
"MM月dd日 HH:mm:ss", true);
private String value;
private boolean isShowOnly;
DateStyle(String value, boolean isShowOnly) {
this.value = value;
this.isShowOnly = isShowOnly;
}
public String getValue() {
return value;
}
public boolean isShowOnly() {
return isShowOnly;
}
}
使用的jar包包括:log4j-1.2.17.jar
poi-3.7.jar
poi-3.17.jar
poi-ooxml-3.17.jar