Apache POI:如何格式化一列单元格?

时间:2013-03-16 15:16:34

标签: java apache-poi

我是Apache POI的新手,我正在尝试格式化一列单元格..我已经创建了包含值的电子表格。我要做的就是从mm更改格式:ss.0到HH:MM:SS。

如果有人能对此提供一些见解,包括代码将非常感激。

欢迎所有帮助。

谢谢。

1 个答案:

答案 0 :(得分:2)

org.apache.poi.ss.usermodel.DateUtil

convertTime(java.lang.String timeStr) 
          Converts a string of format "HH:MM" or "HH:MM:SS" to its (Excel) numeric equivalent

应该解决您的要求。有关详细信息,请参阅 - http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DateUtil.html

此外,您可以检查以下计划是否为您提供了一些见解 -

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
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 org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

public class ExcelExample {

    public static void main(String[] args) {
        InputStream inp;
        try {
            inp = new FileInputStream("workbook.xls");

        Workbook wb = new HSSFWorkbook(inp);
        CreationHelper createHelper = wb.getCreationHelper();

        Sheet sheet = wb.getSheetAt(0);
        for (Row row : sheet) {

            Cell cell = row.getCell(1);
            CellStyle cellStyle = wb.createCellStyle();
            cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("hh:mm:ss"));
            cell.setCellStyle(cellStyle);

          }

        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
        System.out.println("Done...");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

由于