从 excel 文件 (xlsx) 创建模板文件 (xltx)
Creating a template file (xltx) from excel file (xlsx)
我正在尝试从现有的 excel 文件 (xlsx) 创建一个 excel 模板文件 (xltx)。
我已经用另一种方法实现了,所以从模板文件中创建了一个 excel 文件。
但我需要相反的方式。
首先我正在清理工作表,以获得一个干净的模板文件,但是当我将它保存为 xltx 时,它正确显示在我的文件夹中,但我无法打开它。
只有当我手动将文件重命名为 (...).xlsx 时,我才能打开文件。
有人知道如何从 xlsx 创建 xltx 文件吗?
在代码中甚至可能吗?
PS: 在JAVA
谢谢
ActiveWorkbook.saveas filename:=replace(activeworkbook.name,".xlsx",".xlst"),fileformat:=54
没有宏或
ActiveWorkbook.SaveAs Filename:=Replace(ActiveWorkbook.Name, ".xlsm", ".xltm"), FileFormat:=53
如果你有宏
如果 *.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);
}
}
}
我正在尝试从现有的 excel 文件 (xlsx) 创建一个 excel 模板文件 (xltx)。
我已经用另一种方法实现了,所以从模板文件中创建了一个 excel 文件。 但我需要相反的方式。
首先我正在清理工作表,以获得一个干净的模板文件,但是当我将它保存为 xltx 时,它正确显示在我的文件夹中,但我无法打开它。 只有当我手动将文件重命名为 (...).xlsx 时,我才能打开文件。
有人知道如何从 xlsx 创建 xltx 文件吗? 在代码中甚至可能吗?
PS: 在JAVA
谢谢
ActiveWorkbook.saveas filename:=replace(activeworkbook.name,".xlsx",".xlst"),fileformat:=54
没有宏或
ActiveWorkbook.SaveAs Filename:=Replace(ActiveWorkbook.Name, ".xlsm", ".xltm"), FileFormat:=53
如果你有宏
如果 *.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);
}
}
}