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 在 Java 應用程序中創建、操作和轉換為各種其他格式的 excel 工作表方面非常受歡迎。因此,使用更少的代碼行,您可以選擇加載和轉換流行的工作表格式並轉換為其他所需格式。現在,為了開始使用它,請在 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 下載完整的源代碼。您可以考慮通過免費的 產品支持論壇 聯繫我們以快速解決問題。

相關文章

我們強烈建議訪問以下鏈接以了解更多信息: