Создание файла шаблона (xltx) из файла excel (xlsx) - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь создать файл шаблона Excel (xltx) из существующего файла Excel (xlsx).

Я уже достиг другого результата, поэтому создание файла Excel из файла шаблона,Но мне нужен другой способ.

Сначала я очищаю листы, чтобы получить чистый файл шаблона, но когда я сохраняю его как xltx, он правильно отображается в моей папке, но я не могу его открыть,Только когда я вручную переименую файл в (...). Xlsx, я могу открыть файл.

Кто-нибудь знает, как создать файл xltx из xlsx? Это вообще возможно в коде?

PS: IN JAVA

Спасибо

Ответы [ 2 ]

1 голос
/ 11 октября 2019

Если файл *.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);
  }

 }
}
0 голосов
/ 10 октября 2019
 ActiveWorkbook.saveas filename:=replace(activeworkbook.name,".xlsx",".xlst"),fileformat:=54

без макросов или

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

, если у вас есть макросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...