如何设置列名
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");
等等
我正在为我的应用程序使用 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");
等等