数字格式使指能够控制Excel单元格中数字如何显示的格式字符串。例如,我们可以对数字12345应用数字格式“0.00”,使之显示为12345.00。数字格式字符串通常由以下某个或某几个说明符构成:
- # :数字占位符
- 0 :0占位符
- . :小数点
- , :分组符
- % :百分号占位符
- [Red] :颜色说明符
本文将介绍如何使用Spire.XLS for Java在Excel中设置数字格式。
import com.spire.xls.*;
public class SetNumberFormat {
public static void main(String[] args){
//创建workbook实例
Workbook workbook = new Workbook();
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//添加文本到B1
sheet.getCellRange("B1").setText("数字格式");
sheet.getCellRange("B1").getCellStyle().getExcelFont().isBold(true);
//合并B1、C1
sheet.getCellRange("B1:C1").merge();
sheet.getCellRange("B1:C1").setHorizontalAlignment(HorizontalAlignType.Center);
//添加文本到B3
sheet.getCellRange("B3").setText("0");
//添加数字到C3并设置数字格式
sheet.getCellRange("C3").setNumberValue(1234.5678);
sheet.getCellRange("C3").setNumberFormat("0");
//重复以上步骤,添加文本和数字到其他单元格并设置数字格式
sheet.getCellRange("B4").setText("0.00");
sheet.getCellRange("C4").setNumberValue(1234.5678);
sheet.getCellRange("C4").setNumberFormat("0.00");
sheet.getCellRange("B5").setText("#,##0.00");
sheet.getCellRange("C5").setNumberValue(1234.5678);
sheet.getCellRange("C5").setNumberFormat("#,##0.00");
sheet.getCellRange("B6").setText("$#,##0.00");
sheet.getCellRange("C6").setNumberValue(1234.5678);
sheet.getCellRange("C6").setNumberFormat("$#,##0.00");
sheet.getCellRange("B7").setText("0;[Red]-0");
sheet.getCellRange("C7").setNumberValue(-1234.5678);
sheet.getCellRange("C7").setNumberFormat("0;[Red]-0");
sheet.getCellRange("B8").setText("0.00;[Red]-0.00");
sheet.getCellRange("C8").setNumberValue(-1234.5678);
sheet.getCellRange("C8").setNumberFormat("0.00;[Red]-0.00");
sheet.getCellRange("B9").setText("#,##0;[Red]-#,##0");
sheet.getCellRange("C9").setNumberValue(-1234.5678);
sheet.getCellRange("C9").setNumberFormat("#,##0;[Red]-#,##0");
sheet.getCellRange("B10").setText("#,##0.00;[Red]-#,##0.000");
sheet.getCellRange("C10").setNumberValue(-1234.5678);
sheet.getCellRange("C10").setNumberFormat("#,##0.00;[Red]-#,##0.00");
sheet.getCellRange("B11").setText("0.00E+00");
sheet.getCellRange("C11").setNumberValue(1234.5678);
sheet.getCellRange("C11").setNumberFormat("0.00E+00");
sheet.getCellRange("B12").setText("0.00%");
sheet.getCellRange("C12").setNumberValue(1234.5678);
sheet.getCellRange("C12").setNumberFormat("0.00%");
//设置[B3:B12]、[C3:C12]背景颜色
sheet.getCellRange("B3:B12").getCellStyle().setKnownColor(ExcelColors.Gray25Percent);
sheet.getCellRange("C3:C12").getCellStyle().setKnownColor(ExcelColors.Gray50Percent);
//设置2、3列列宽
sheet.setColumnWidth(2, 24);
sheet.setColumnWidth(3, 24);
//保存文档
workbook.saveToFile("SetNumberFormat.xlsx", ExcelVersion.Version2013);
}
}
结果文档: