我正在尝试从现有的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
。没有适合XLTX
XSSFWorkbookType
.但这也可以使用低级类来完成。
例:
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
如果您有宏