gpt4 book ai didi

java - 如何设置Excel中行的数据格式?

转载 作者:行者123 更新时间:2023-12-01 10:50:55 24 4
gpt4 key购买 nike

我正在尝试将 Excel 中的行的数据类型设置为日期格式('yyyy-MM-dd'),为此我编写了以下代码:

....
Row r = null;
CellStyle cellStyle = workbook.createCellStyle();
//CreationHelper createHelper = workbook.getCreationHelper();
cellStyle.setDataFormat(
workbook.createDataFormat().getFormat("yyyy-MM-dd"));
for(int i =0;i < 2;i++){
switch(i){
case 0:
r = sheet.getRow(0);
r.setRowStyle(cellStyle);
break;
case 1:
r = sheet.getRow(1);
r.setRowStyle(cellStyle);
break;
default:
break;
}
}
....

我仅发布了前两行的格式以供引用。但是,当我运行代码并打开 Excel 工作表并检查前两行中的单元格格式时,这只是一般情况。更改未反射(reflect)在 Excel 工作表中。我不明白我在这里做错了什么。

最佳答案

如果您从头开始创建此 Excel 工作表,那么它还没有行。我在新工作表中的 getRow(0) 上收到 NullPointerException 。尝试使用 createRow(0) 代替:

public static void main(String[] args) throws JDOMException, IOException {
File excelFile = new File("C:/temp/test.xls");
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("sheetname");

Row r = null;
CellStyle cellStyle = workbook.createCellStyle();
// CreationHelper createHelper = workbook.getCreationHelper();
cellStyle.setDataFormat(workbook.createDataFormat().getFormat("yyyy-MM-dd"));
for (int i = 0; i < 2; i++) {
switch (i) {
case 0:
r = sheet.createRow(0);
r.setRowStyle(cellStyle);
break;
case 1:
r = sheet.createRow(1);
r.setRowStyle(cellStyle);
break;
default:
break;
}
}

try (FileOutputStream out = new FileOutputStream(excelFile)) {
workbook.write(out);
}
Desktop.getDesktop().open(excelFile);
}

关于java - 如何设置Excel中行的数据格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33915513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com