如何设置列名称

我使用的是我的应用程序的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不会知道格式,也不知道边界,甚至不是单元格宽度/高度。

您有以下select:

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

例如 :

 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"); 

等等