从 excel 文件 (xlsx) 创建模板文件 (xltx)



我正在尝试从现有的excel文件(xlsx(创建一个excel模板文件(xltx(。

我已经反过来实现了它,所以从模板文件创建一个 excel 文件。 但我需要另一种方式。

首先,我正在清除工作表,以获得一个干净的模板文件,但是当我将其另存为 xltx 时,它会正确显示在我的文件夹中,但我无法打开它。 仅当我手动将文件重命名为 (...xlsx 我可以打开文件。

有人知道如何从 xlsx 创建 xltx 文件吗? 甚至在代码中可能吗?

PS:在爪哇中

谢谢

如果*.xlsx文件应另存为*.xltx则存储在[Content_Types].xml中的部件名称/xl/workbook.xml内容类型也必须更改为application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml。没有适合XLTXXSSFWorkbookType.但这也可以使用低级类来完成。

例:

import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
class ExcelWriteXLTX {
public static void main(String[] args) throws Exception {
try (Workbook workbook = new XSSFWorkbook(); 
FileOutputStream fileout = new FileOutputStream("ExcelTemplate.xltx") ) {
Sheet sheet = workbook.createSheet();
Cell cell = sheet.createRow(0).createCell(0);
cell.setCellValue("Content in template");
// ...
((XSSFWorkbook)workbook).getPackagePart().setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml");
workbook.write(fileout);
}
}
}
ActiveWorkbook.saveas filename:=replace(activeworkbook.name,".xlsx",".xlst"),fileformat:=54

对于没有宏或

ActiveWorkbook.SaveAs Filename:=Replace(ActiveWorkbook.Name, ".xlsm", ".xltm"), FileFormat:=53

如果您有宏

最新更新