首页 > 解决方案 > 生成的excel文件没有扩展名

问题描述

我正在尝试使用以下方法生成 excel 文件:

private static final String CONTENT_TYPE = "multipart/form-data";
private static final String FILE_NAME = "DemoReport";
private static final String FILE_EXTENSION = ".xlsx";

public MultipartFile export(final UUID uuid) throws IOException {
    final XSSFWorkbook workbook = new XSSFWorkbook();
    XSSFSheet sheet = workbook.createSheet("Report");
    int rowCount = 0;

    final List<ProductDTO> productList = productService
            .findAllByCategory(categoryUuid);

    writeTitles(sheet.createRow(rowCount++), titles); // private method

    // code omitted

    final File outputFile = File.createTempFile(FILE_NAME, FILE_EXTENSION);

    try (FileOutputStream outputStream = new FileOutputStream(outputFile)) {
        workbook.write(outputStream);
    } catch (IOException e) {
        LoggingUtils.error("error... ", e);
    }

    final FileInputStream input = new FileInputStream(outputFile);

    final String fileName = FILE_NAME.concat(FILE_EXTENSION);
    return new MockMultipartFile(fileName,
            fileName, CONTENT_TYPE, IOUtils.toByteArray(input));
}

但是,生成的文件没有扩展名(其类型为 File)。那么,导致这种情况的问题是什么以及如何解决?

标签: javaexcelreportreporting

解决方案


推荐阅读