我正在尝试从现有的excel文件(xlsx)创建excel模板文件(xltx)。
相反,我已经实现了它,因此可以从模板文件中创建一个excel文件。 但是我需要另一种方式。
首先,我要清理工作表以获得干净的模板文件,但是当我将其另存为xltx时,它会正确显示在我的文件夹中,但无法打开。 只有当我手动将文件重命名为(...)。xlsx时,我才能打开文件。
任何人都知道如何从xlsx创建xltx文件吗? 在代码中甚至有可能吗?
PS:在JAVA中
谢谢
答案 0 :(得分:1)
如果将*.xlsx
文件另存为*.xltx
,则存储在/xl/workbook.xml
中的零件名称[Content_Types].xml
的内容类型也必须更改为application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml
。 XSSFWorkbookType
没有合适的XLTX
。但这也可以使用低级类完成。
示例:
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);
}
}
}
答案 1 :(得分:0)
ActiveWorkbook.saveas filename:=replace(activeworkbook.name,".xlsx",".xlst"),fileformat:=54
无宏或
ActiveWorkbook.SaveAs Filename:=Replace(ActiveWorkbook.Name, ".xlsm", ".xltm"), FileFormat:=53
如果您有宏