利用poi把数据保存excel,并格式化日期实例

下面是一个简单的小例子,利用poi进行保存excel操作。

    package com.cn;  
      
    import org.apache.poi.hssf.usermodel.HSSFCell;  
    import org.apache.poi.hssf.usermodel.HSSFRow;  
    import org.apache.poi.hssf.usermodel.HSSFSheet;  
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
      
    import java.io.FileOutputStream;  
    import java.io.IOException;  
    import java.util.Date;  
      
    public class CellTypes {  
     public static void main(String[] args) throws IOException {  
         HSSFWorkbook wb = new HSSFWorkbook();  
         HSSFSheet sheet = wb.createSheet("new sheet");  
         HSSFRow row = sheet.createRow(2);  
         row.createCell(0).setCellValue(1.1);  
         row.createCell(1).setCellValue(new Date());  
         row.createCell(2).setCellValue("a string");  
         row.createCell(3).setCellValue(true);  
         row.createCell(4).setCellType(HSSFCell.CELL_TYPE_ERROR);  
      
         FileOutputStream fileOut = new FileOutputStream("d:\\workbook.xls");  
         wb.write(fileOut);  
         fileOut.close();  
     }  
    }  


下面的是运行结果


在运行结果中发现时间的显示是正常的时间,怎么格式化时间呢?

下面的例子就是格式化时间

    package com.cn;  
      
    import org.apache.poi.hssf.usermodel.HSSFCell;  
    import org.apache.poi.hssf.usermodel.HSSFRow;  
    import org.apache.poi.hssf.usermodel.HSSFSheet;  
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
    import org.apache.poi.ss.usermodel.Cell;  
    import org.apache.poi.ss.usermodel.CellStyle;  
    import org.apache.poi.ss.usermodel.CreationHelper;  
      
    import java.io.FileOutputStream;  
    import java.io.IOException;  
    import java.util.Date;  
      
    public class CellTypes {  
     public static void main(String[] args) throws IOException {  
         HSSFWorkbook wb = new HSSFWorkbook();  
         HSSFSheet sheet = wb.createSheet("new sheet");  
           
         HSSFRow row = sheet.createRow(2);  
         row.createCell(0).setCellValue(1.1);  
         Cell cell = row.createCell(1);  
         cell.setCellValue(new Date());  
         CreationHelper createHelper = wb.getCreationHelper();  
         CellStyle cellStyle = wb.createCellStyle();  
         cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("yyyy-MM-dd"));  
         cell.setCellStyle(cellStyle);  
           
         row.createCell(2).setCellValue("a string");  
         row.createCell(3).setCellValue(true);  
         row.createCell(4).setCellType(HSSFCell.CELL_TYPE_ERROR);  
      
         FileOutputStream fileOut = new FileOutputStream("d:\\workbook.xls");  
         wb.write(fileOut);  
         fileOut.close();  
     }  
    }  

运行结果如下:


来自:blog.csdn.net/snrqtdhuqf/article/details/7090018


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Java的POI库来读取Excel日期格式的数据。具体步骤如下: 1. 使用POI库中的Workbook类打开Excel文件。 2. 确定要读取的工作表。 3. 遍历工作表的每一行,读取日期格式的单元格。 4. 使用Java中的日期格式化函数将日期数据转换为标准日期格式。 以下是示例代码: ```java import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.DateUtil; 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.ss.usermodel.WorkbookFactory; public class ReadExcelDate { public static void main(String[] args) { try { FileInputStream file = new FileInputStream(new File("your_file.xls")); //Create Workbook instance holding reference to .xlsx file Workbook workbook = WorkbookFactory.create(file); //Get first/desired sheet from the workbook Sheet sheet = workbook.getSheetAt(0); //Iterate through each rows one by one for (Row row : sheet) { //Iterate through each cell one by one for (Cell cell : row) { //Check the cell type and format accordingly switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { System.out.print(cell.getDateCellValue() + "\t"); } else { System.out.print(cell.getNumericCellValue() + "\t"); } break; case Cell.CELL_TYPE_STRING: System.out.print(cell.getStringCellValue() + "\t"); break; } } System.out.println(""); } file.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 该代码将遍历Excel中的每一个单元格,检查其类型并格式化日期数据

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值