如何设置列名

How to set column names

我正在为我的应用程序使用 Apache POI,我想设置列名而不是 "A, B, C..."

我使用以下代码,但它只在第一行添加数据:

 public void createHeaderRow(HSSFSheet sheet, List<String> headerRowList) {
    HSSFRow headerRow = sheet.createRow(0);
    for(int i=0;i<headerRowList.size();i++){
        HSSFCell cell = headerRow.createCell((short) i);
        cell.setCellValue(headerRowList.get(i).toString());
    }
}

有什么想法吗?

坏消息:AFAIK excel 不能做任何与 A、B、C 不同的事情。主要原因:列名和行名不包含信息,它只是一个编号。假设您要打印包含这些名称的文档:Excel 不知道格式、边框,甚至单元格 widths/heights.

您有以下选择:

  • 使用使用数据库布局的 MS Access(例如字段名称作为列名称)
  • 修复视图中的第一行并将其格式化为 table 标题。 Excel 的 table 自动套用格式功能也是如此。

例如:

JFileChooser save = new JFileChooser();
        save.setDialogTitle("Save file");
        int chooise = save.showSaveDialog(null);

        File file = null;
        if(chooise == JFileChooser.APPROVE_OPTION){
            file = save.getSelectedFile();
        }

        FileOutputStream fileOut;
        fileOut = new FileOutputStream(file.getAbsolutePath() + ".xls");
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet worksheet = workbook.createSheet("Workbook");
        Row row1 = worksheet.createRow((short)0);
        //Set columt names
        row1.createCell(0).setCellValue("Column Name 0");
        row1.createCell(1).setCellValue("Column Name 1");

等等