如何使用 Java 代码实现设置 Excel 单元格的格式?

如何使用 Java 代码实现设置 Excel 单元格的格式

想设置如同百分比,科学计数等的单元格格式。

阅读 1k
2 个回答

最近刚好有做类似的项目:
Excel中的,单元格格式,都对应的有一个数字格式字符串。
image.png
公司用了一个叫GcExcel Java平台的Excel组件,通过使用 GcExcel,可以给对应的单元格设置数字格式字符串。

public void NumberFormat(){
    Workbook workbook = new Workbook();
    IWorksheet worksheet = workbook.getWorksheets().get(0);
    worksheet.getRange("A:H").setColumnWidth(17);

    worksheet.getRange("A1").setValue(0.52);
    worksheet.getRange("A1").setNumberFormat("0%");

    worksheet.getRange("C1").setValue(12345000);
    worksheet.getRange("C1").setNumberFormat("0.00E+00");

    workbook.save("output/NumberFormats.xlsx");
}

代码不用写很多,可读性也比较好。

  1. 先在maven中引入apache.poi依赖
  2. 创建工作簿和工作表
// 创建新的工作簿
Workbook workbook3 = new HSSFWorkbook();//excel2003
Workbook workbook7 = new XSSFWorkbook();//excel2007

// 创建工作表
Sheet sheet = workbook3.createSheet("Sheet1");
  1. 创建单元格和样式
// 创建单元格和样式
//百分比
Cell percentageCell = row.createCell(0);
CellStyle percentageStyle = workbook.createCellStyle();
percentageStyle.setDataFormat(workbook.createDataFormat().getFormat("0.00%"));
//科学计数
Cell scienticCell = row.createCell(1);
CellStyle scientificStyle = workbook.createCellStyle();
scientificStyle.setDataFormat(workbook.createDataFormat().getFormat("0.00E+00"));
// 创建百分比格式的单元格
percentageCell.setCellValue(0.75);
percentageCell.setCellStyle(percentageStyle);
// 创建科学计数格式的单元格
scientificCell.setCellValue(1000000);
scientificCell.setCellStyle(scientificStyle);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏