How to save spreadsheet to xlsx file
To save current workbook as file in supported format there is interface IFileWriter
.
To get IFileWriter
, call getWriter()
from IWorkbook
:
import com.intechcore.scomponents.scell.api.IScellApiResolver;
import com.intechcore.scomponents.scell.api.ScellApiEntryPoint;
import com.intechcore.scomponents.scell.api.spreadsheet.IScellCoreApiFactory;
import com.intechcore.scomponents.scell.api.spreadsheet.model.IWorkbook;
import com.intechcore.scomponents.scell.api.spreadsheet.service.IFileWriter;
import java.io.File;
import java.util.concurrent.CompletableFuture;
public class TestApp {
private static final CompletableFuture<IScellApiResolver> apiResolverFuture
= ScellApiEntryPoint.getApiResolverAsync();
public static void main(String[] args) {
apiResolverFuture.thenAccept(resolver -> {
IScellCoreApiFactory apiFactory = resolver.resolve(IScellCoreApiFactory.class);
IWorkbook existingWorkbook = apiFactory.load(new File("/path/to/existing/file.xlsx"));
IFileWriter fileWriter = existingWorkbook.getWriter();
fileWriter
.fileName("spreadsheet-copy") // set a new name
.save();
}).whenComplete((unused, throwable) -> {
if (throwable != null) {
System.out.println(throwable.getMessage());
}
}).join();
}
}