Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd相关的知识,希望对你有一定的参考价值。

Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd的形式,当我打开excle 文件里面的日期格式是yyyy/mm/dd 的只有我双击之后才会显示我要的格式。请问是怎么回事?

你写入的yyyy-mm-dd而显示yyyy/mm/dd这是正常的,表示EXCEL理解了你写入的数据是日期格式,显示的时候由于没有指定单元格的格式,所以系统以默认的yyyy/mm/dd格式显示,这个其实没关系。

如果你特别希望显示为yyyy-mm-dd格式,可以写入内容前增加一个单引号(半角英文),这样强制告诉EXCEL这是个文本,不要理解为日期。

还有一个办法,就是JAVA里面写入数据完毕,设置单元格的格式为yyyy-mm-dd,通过设置.NumberFormat 属性为 "yyyy-mm-dd"实现。追问

只能在代码里设置格式吗?不能在出力的模板里设置?

追答

当然可以在模版里面设置,设置单元格格式为日期里面的yyyy/mm/dd即可,JAVA写入日期后会自动显示为指定的格式。

参考技术A 可以把单元格设置为文本格式,直接传进去字符串就可以
HSSFCellStyle cellStyle2 = demoWorkBook.createCellStyle();
HSSFDataFormat format = demoWorkBook.createDataFormat();
cellStyle2.setDataFormat(format.getFormat("@"));
cell.setCellStyle(cellStyle2);

java 一个文件中写多个class

一个java文件中可以包含多个类,但这些类中一个特殊类,这个类的属性为public,且这个类的名字与文件名相同,java文件中仅有一个类为public.

 

 

 interface Moveable {
    void run();
}

//具体产品角色
 class Plane implements Moveable {
    @Override
    public void run() {
        System.out.println("plane....");
    }
}

 class Broom implements Moveable {
    @Override
    public void run() {
        System.out.println("broom.....");
    }
}

//抽象工厂
abstract class VehicleFactory {
    abstract Moveable create();
}
//具体工厂
 class PlaneFactory extends VehicleFactory{
    public Moveable create() {
        return new Plane();
    }
}
 class BroomFactory extends VehicleFactory{
    public Moveable create() {
        return new Broom();
    }
}
//测试类
public class Main {
    public static void main(String[] args) {
        VehicleFactory factory = new BroomFactory();
        Moveable m = factory.create();
        m.run();
    }
}

 

以上是关于Java 出力Excel 文件,并向该文件中写固定格式的日期。我往文件里写的是yyyy-mm-dd的主要内容,如果未能解决你的问题,请参考以下文章

如何用批处理建立新文件,并向新文件写入指定内容

如何在C#中写Excel文件

java实现导入动态excel

csharp [Excel帐票] EXCELで帐票出力するときに使えるかも。#ClosedXML

VBA 如何读取具有打开时需要密码的excel

java excel转换prn