29-一月-2021
Fri Jan 29 08:45:47 CST 2021
1611881147000
2021-01-29 08:45:47
欢迎关注我的微信公众号:
Java POI操作Excel的日期,统一日期格式
java poi读取的excel的日期是一个数字,这个数字代表了从1900-1-1到该日期的天数
所以在读取时要将该数字转化为相应的日期
使用Date date = DateUtil.getJavaDate(cell.getNumericCellValue());可以转化为java日期
excel中存在很多不同形式的日期,1996/1/1...
import org.apache.poi.ss.usermodel.DateUtil;
import java.text.SimpleDateFormat;
import java.util.Date;
2、处理数据格式的单元格时,进行判断是否为时间,...
在Excel中的日期格式,其数值为距离1900年1月1日的天数,比如2009-12-24将其转化为数字格式时变成了40171,在用java处理的时候,读取的也将是40171。
在POI处理Excel中的日期类型的单元格时,如果仅仅是判断它是否为日期类型的话,最终会以NUMERIC类型来处理。正确的处理方法是先判断单元格的类型是否则NUMERIC类型,然后再判断单元格是否为日期格式,如果是的话,
Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2。总之,你可以读写Excel文件使用java。此外,您可以读取和写入MS Word和PowerPoint文件使用java。Apache POI是java Excel解决方案(Excel 97-2008)。
需要jar:poi-3....
compile group: 'org.apache.poi', name: 'poi', version: '3.9'
这里导出excel使用的方法是代码生成,而非使用excel模板(虽然excel模板貌似应该好用点的)
这里做个小结给大家:
基本用法:
//新建一个文档
HSSFWork...
我可以给你一个简单的例子,你可以使用它来创建一个工作表,并使用POI API写入数据: import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class WriteExcel {
public static void main(String[] args) throws Exception {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Datatypes in Java");
Object[][] datatypes = {
{"数据类型", "大小(位)"},
{"int", 2},
{"float", 4},
{"double", 8},
{"char", 1},
int rowNum = 0;
System.out.println("Creating excel");
for (Object[] datatype : datatypes) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
for (Object field : datatype) {
Cell cell = row.createCell(colNum++);
if (field instanceof String) {
cell.setCellValue((String) field);
} else if (field instanceof Integer) {
cell.setCellValue((Integer) field);
try {
FileOutputStream outputStream = new FileOutputStream("JavaDatatypes.xlsx");
workbook.write(outputStream);
workbook.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Done");