在Spring Boot应用程序中导出excel文件我需要修改Info“Tags”选项

问题描述 投票:0回答:1

我正在尝试从 Spring Boot 应用程序导出文件,当我查看 Excel 信息时,我需要更改“标签”值

请查看截图以供参考

我们如何手动更改excel中的excel属性名称?

Tag needs to be customised

java spring apache-poi
1个回答
0
投票

这是 Office 文件属性的一部分。与作者所在的属性集合相同。请参阅 在 Apache poi 生成的 excel 中更改作者

HSSFWorkbook
是一个 POIDocument,其中包含 SummaryInformation

XSSFWorkbook
是一个 POIXMLDocument,它具有 POIXMLProperties - POIXMLProperties.CoreProperties.

因此,对于这两种工作簿类型,可以像这样设置标签(又名关键字):

import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

class CreateExcelAuthorAndKeywords {

 public static void main(String[] args) throws Exception {

  String author = "Axel Richter";
  String keywords = "Keyword1, Keyword2, Keyword3";

  Workbook workbook = new XSSFWorkbook(); 
  //Workbook workbook = new HSSFWorkbook();

  workbook.createSheet(); 

  if (workbook instanceof XSSFWorkbook) {
   ((XSSFWorkbook)workbook).getProperties().getCoreProperties().setCreator(author); 
   ((XSSFWorkbook)workbook).getProperties().getCoreProperties().setKeywords(keywords); 
  } else if (workbook instanceof HSSFWorkbook) {
   ((HSSFWorkbook)workbook).createInformationProperties();
   ((HSSFWorkbook)workbook).getSummaryInformation().setAuthor(author);
   ((HSSFWorkbook)workbook).getSummaryInformation().setKeywords(keywords); 
  }

  String fileName = (workbook instanceof XSSFWorkbook)?"Excel.xlsx":"Excel.xls";
  try (FileOutputStream out = new FileOutputStream(fileName) ) {
   workbook.write(out);
  }
  workbook.close();

 }
}
© www.soinside.com 2019 - 2024. All rights reserved.