SXC 到 Excel

使用 Java 将 SXC 转换为 Excel

SXC 已成为在 StarOffice 套件的 Calc 软件中创建的文件的默认格式。这些文件包含支持公式、函数、宏和图表的电子表格,以及可以自动个性化和提供原始导入数据摘要的 DataPilot 图表。 StarOffice 在 2011 年停产之前曾被简称为 Oracle Open Office,是一个专有的办公套件。 SXC 文件与其他办公套件兼容,例如 Apache OpenOffice、LibreOffice、IBM Lotus Symphony、NeoOffice 等。但由于 StarOffice 已停产,因此可能有些组织仍保留相同格式的遗留文档。另一方面,如今,我们广泛使用 Excel 工作表,而不是打开 Office Excel 或打开 Office 电子表格。它提供了一些惊人的功能来管理、分析和以有意义的格式呈现数据。因此,Excel 文件对于商业用途和个人用途变得同等重要。因此,在本文中,我们将学习如何使用 REST API 将 SXC 转换为 Excel 的步骤。

SXC 到 Excel 转换 API

我们的 Aspose.Cells Cloud SDK for Java 在 Excel 工作表创建、操作和转换为 Java 应用程序中的各种其他格式方面非常受欢迎。因此,使用更少的代码行,您可以选择加载和转换流行的工作表格式并转换为其他所需格式。现在,为了开始使用它,请在 maven 构建类型项目的 pom.xml 中添加以下详细信息。

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-cells-cloud</artifactId>
        <version>22.8</version>
    </dependency>
</dependencies>

添加 SDK 参考后,我们需要在 Aspose Cloud 上创建一个免费帐户。使用新创建的帐户登录,并在 Cloud Dashboard 中查找/创建客户端 ID 和客户端密码。后续部分需要这些详细信息。

将 SXC 导出到 Excel - 本地存储

在本节中,我们将讨论如何在不先将输入的 Excel 上传到云存储的情况下将 Excel 转换为 JSON 的详细信息。但是,生成的 JSON 文件将存储在云存储中。

  • 首先,创建一个 CellsApi 对象,同时提供 ClientID 和客户端机密详细信息作为参数
  • 其次,创建一个 File 实例来加载源 SXC 文件
  • 然后调用 cellsWorkbookPutConvertWorkbook(…) 方法,需要输入 SXC 文件名、结果格式为 XLS 和输出文件的名称。转换成功后,XLS文件将存储在云存储中
// 有关更多示例,请访问 https://github.com/aspose-cells-cloud/aspose-cells-cloud-java

try
    {
    // 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
  
    // 使用客户端凭据创建 CellsApi 实例
    CellsApi api = new CellsApi(clientId,clientSecret);

    // 输入制表符分隔值文件的名称
    String fileName = "source.sxc";
	    
    // 工作簿加密时的密码详细信息
    String password = null;
  
    // 从本地系统加载文件
    File file = new File("/Users/nayyer/"+fileName);	
	    	    
    // 执行文档转换操作
    api.cellsWorkbookPutConvertWorkbook(file, format, password, "output.xls", "default", null);  
	    
    // 打印成功信息
    System.out.println("Successsul conversion of Open Office Spreadsheets (SXC) to Excel !");
    }catch(Exception ex)
    {
        System.out.println(ex.getMessage());
    }

使用 Java 打开 Office Excel 到 XLS

我们还有机会从云存储加载 Open office Excel (SXC) 并执行到 Excel(XLS、XLSX 等)的转换。因此,要么可以加载任何现有文件,要么先上传它并在转换操作期间引用它。使用这种方法,生成的文件也保存在云存储中。

  • 首先,创建一个 CellsApi 对象,同时提供 ClientID 和客户端机密详细信息作为参数
  • 其次,创建一个 File 实例来加载输入 SXC 工作簿
  • 现在调用 uploadFile(…) 方法将 SXC 文件上传到云存储
  • 最后,调用 cellsWorkbookGetWorkbook(…) 方法,该方法需要输入 SXC 文件的名称、作为 XLS 的结果格式及其名称。转换后,输出保存在云存储中。
// 有关更多示例,请访问 https://github.com/aspose-cells-cloud/aspose-cells-cloud-java

try
    {
    // 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
  
    // 使用客户端凭据创建 CellsApi 实例
    CellsApi api = new CellsApi(clientId,clientSecret);

    // 输入制表符分隔值文件的名称
    String fileName = "source.sxc";
	    
    // 工作簿加密时的密码详细信息
    String password = null;
  
    // 指定是否将工作簿行设置为自动调整。
    Boolean isAutoFit = true;
	  // 指定是否只保存表数据。仅用于PDF excel。
	  Boolean onlySaveTable = true;
	  
    // 结果文件格式
	  String format = "XLS";
    
    // 从本地系统读取 SXC 文件
    File file = new File("/Users/nayyer/"+fileName);	
	    	    
    // 上传源SXC到云存储
	  api.uploadFile("source.sxc", file, "default");
  
    // 执行文档转换操作
    api.cellsWorkbookGetWorkbook("source.sxc", password, format, 
	    			            isAutoFit, onlySaveTable, null,"default", "Output.xls","default", null);  
	    
    // 打印成功信息
    System.out.println("Successsul conversion of Open Office Spreadsheets (SXC) to Excel !");
    }catch(Exception ex)
    {
        System.out.println(ex.getMessage());
    }
SXC 到 Excel 预览

Image1:- SXC 到 Excel 转换预览

供您参考,源 SXC 和生成的 XLS 已通过 source.sxcoutput.xls 共享

使用 cURL 命令将 Open Office 电子表格导出到 Excel

由于 REST API 可以通过 cURL 命令轻松访问,因此在本节中,我们将通过 cURL 命令调用 Aspose.Cells Cloud 来完成我们的要求。现在,此操作的先决条件之一是在执行以下命令时生成 JWT 访问令牌(基于客户端凭据)。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

现在,一旦我们有了 JWT 令牌,就需要执行以下命令将打开的办公室电子表格转换为 XLS。生成的 XLS 将存储在云存储中。

curl -v -X GET "https://api.aspose.cloud/v3.0/cells/source.sxc?format=XLS&isAutoFit=false&onlySaveTable=false&outPath=output.xls&checkExcelRestriction=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

结论

本文介绍了使用 Java 代码片段将 Open Office 电子表格 (SXC) 转换为 XLS、XLSX 等格式。同样,我们还探索了在命令行终端上执行 cURL 命令时将 SXC 转换为 Excel 的选项。您可能会注意到将 Open Office Excel (SXC) 转换为 XLS 的另一个好处是这个新文件的大小被减小/优化了。请注意,我们所有的 Cloud SDK 都是在 MIT 许可下构建的,因此可以从 GitHub 下载完整的源代码。您可以考虑通过免费的 产品支持论坛 联系我们以快速解决问题。

相关文章

我们强烈建议访问以下链接以了解更多信息: