在使用Apache POI库来操作Excel文件时,可以通过设置单元格的数据格式来控制其显示方式。以下是一个示例代码,展示了如何使用十进制格式并在选择单元格后应用它。
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class DecimalFormatExample {
public static void main(String[] args) {
// 创建新的工作簿
Workbook workbook = new XSSFWorkbook();
// 创建一个工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 创建一个十进制格式
DataFormat format = workbook.createDataFormat();
short decimalFormatIndex = format.getFormat("0.00");
// 创建一个单元格样式,并设置十进制格式
CellStyle decimalCellStyle = workbook.createCellStyle();
decimalCellStyle.setDataFormat(decimalFormatIndex);
// 创建一个单元格,并在选择后应用十进制格式
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue(123.456);
cell.setCellStyle(decimalCellStyle);
// 将工作簿写入文件
try (FileOutputStream fileOut = new FileOutputStream("output.xlsx")) {
workbook.write(fileOut);
} catch (IOException e) {
e.printStackTrace();
}
// 关闭工作簿
try {
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上述代码中,首先创建了一个新的工作簿和一个工作表。然后,使用createDataFormat()
方法创建一个十进制格式,并获取其索引。接下来,使用createCellStyle()
方法创建一个单元格样式,并使用setDataFormat()
方法将十进制格式应用于该样式。最后,创建一个单元格并将其值设置为123.456,并使用setCellStyle()
方法将十进制样式应用于该单元格。
注意,在将工作簿写入文件之前,需要使用FileOutputStream
将其写入指定的文件路径。另外,还需要在代码中处理IOException
异常。
运行上述代码后,将会生成一个名为"output.xlsx"的Excel文件,其中的单元格会以十进制格式显示123.456。