SXC sang Excel

Chuyển đổi SXC sang Excel bằng Java

SXC là định dạng mặc định của các tệp được tạo trong phần mềm Calc của bộ StarOffice. Các tệp này chứa bảng tính hỗ trợ công thức, hàm, macro và biểu đồ, cũng như biểu đồ DataPilot có thể tự động cá nhân hóa và cung cấp tóm tắt dữ liệu thô đã nhập. StarOffice được gọi ngắn gọn là Oracle Open Office trước khi bị ngừng sản xuất vào năm 2011, là một bộ ứng dụng văn phòng độc quyền. Các tệp SXC có khả năng tương thích với các bộ ứng dụng văn phòng khác, chẳng hạn như Apache OpenOffice, LibreOffice, IBM Lotus Symphony, NeoOffice, v.v. Nhưng vì StarOffice đã ngừng hoạt động nên có thể có những tổ chức vẫn có các tài liệu cũ của họ ở cùng định dạng. Athwart, ngày nay, chúng ta sử dụng rộng rãi bảng tính Excel thay vì mở bảng tính văn phòng excel hoặc văn phòng mở. Nó cung cấp một số khả năng tuyệt vời để quản lý, phân tích và trình bày dữ liệu ở định dạng có ý nghĩa. Do đó, các tệp Excel đã trở nên quan trọng không kém đối với doanh nghiệp cũng như việc sử dụng cá nhân. Vì vậy, trong bài viết này, chúng ta sẽ tìm hiểu các bước về cách chuyển đổi SXC sang Excel bằng API REST.

API chuyển đổi SXC sang Excel

Aspose.Cells Cloud SDK for Java của chúng tôi khá phổ biến để tạo, thao tác và chuyển đổi trang tính excel sang nhiều định dạng khác trong ứng dụng Java. Vì vậy, với ít dòng mã hơn, bạn có tùy chọn tải và chuyển đổi các định dạng trang tính phổ biến cũng như chuyển đổi sang định dạng mong muốn khác. Bây giờ để bắt đầu sử dụng nó, vui lòng thêm các chi tiết sau vào tệp pom.xml của dự án kiểu xây dựng maven.

<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>

Sau khi tham chiếu SDK đã được thêm, chúng tôi cần tạo một tài khoản miễn phí trên Aspose Cloud. Đăng nhập bằng tài khoản mới tạo và tra cứu/tạo Client ID và Client Secret tại Cloud Dashboard. Những chi tiết này được yêu cầu trong các phần tiếp theo.

Xuất SXC sang Excel - Lưu trữ cục bộ

Trong phần này, chúng ta sẽ thảo luận chi tiết về cách chuyển đổi Excel sang JSON mà không cần tải Excel đầu vào lên bộ nhớ đám mây trước. Tuy nhiên, tệp JSON kết quả sẽ được lưu trữ trong bộ lưu trữ đám mây.

  • Đầu tiên, tạo một đối tượng CellsApi trong khi cung cấp các chi tiết bí mật của ClientID và Client dưới dạng đối số
  • Thứ hai, tạo một phiên bản Tệp để tải tệp SXC nguồn
  • Sau đó, gọi phương thức cellsWorkbookPutConvertWorkbook(…) yêu cầu tên tệp SXC đầu vào, định dạng kết quả là XLS và tên của tệp đầu ra. Sau khi chuyển đổi thành công, tệp XLS sẽ được lưu trữ trên bộ nhớ đám mây
// để biết thêm ví dụ, vui lòng truy cập https://github.com/aspose-cells-cloud/aspose-cells-cloud-java

try
    {
    // Nhận ClientID và ClientSecret từ https://dashboard.aspose.cloud/
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
  
    // tạo một phiên bản của CellsApi bằng thông tin đăng nhập của khách hàng
    CellsApi api = new CellsApi(clientId,clientSecret);

    // tên của đầu vào Tập tin giá trị được phân tách bằng tab
    String fileName = "source.sxc";
	    
    // chi tiết mật khẩu nếu sổ làm việc được mã hóa
    String password = null;
  
    // tải tệp từ hệ thống cục bộ
    File file = new File("/Users/nayyer/"+fileName);	
	    	    
    // thực hiện thao tác chuyển đổi tài liệu
    api.cellsWorkbookPutConvertWorkbook(file, format, password, "output.xls", "default", null);  
	    
    // in thông báo thành công
    System.out.println("Successsul conversion of Open Office Spreadsheets (SXC) to Excel !");
    }catch(Exception ex)
    {
        System.out.println(ex.getMessage());
    }

Mở Office Excel sang XLS bằng Java

Chúng tôi cũng có cơ hội tải Open office Excel (SXC) từ bộ lưu trữ Đám mây và thực hiện chuyển đổi sang Excel (XLS, XLSX, v.v.). Vì vậy, có thể tải bất kỳ tệp hiện có nào hoặc tải tệp lên trước và tham chiếu tệp đó trong quá trình chuyển đổi. Với phương pháp này, tệp kết quả cũng được lưu trong bộ lưu trữ đám mây.

  • Đầu tiên, tạo một đối tượng CellsApi trong khi cung cấp các chi tiết bí mật của ClientID và Client dưới dạng đối số
  • Thứ hai, tạo một phiên bản Tệp để tải sổ làm việc SXC đầu vào
  • Bây giờ hãy gọi phương thức uploadFile(…) để tải tệp SXC lên bộ nhớ đám mây
  • Cuối cùng, gọi phương thức cellsWorkbookGetWorkbook(…) yêu cầu tên của tệp SXC đầu vào, định dạng kết quả là XLS cũng như tên của nó. Sau khi chuyển đổi, đầu ra được lưu trong bộ nhớ đám mây.
// để biết thêm ví dụ, vui lòng truy cập https://github.com/aspose-cells-cloud/aspose-cells-cloud-java

try
    {
    // Nhận ClientID và ClientSecret từ https://dashboard.aspose.cloud/
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
  
    // tạo một phiên bản của CellsApi bằng thông tin đăng nhập của khách hàng
    CellsApi api = new CellsApi(clientId,clientSecret);

    // tên của đầu vào Tập tin giá trị được phân tách bằng tab
    String fileName = "source.sxc";
	    
    // chi tiết mật khẩu nếu sổ làm việc được mã hóa
    String password = null;
  
    // Chỉ định xem các hàng sổ làm việc có được tự động điều chỉnh hay không.
    Boolean isAutoFit = true;
	  // Chỉ định có hay không chỉ lưu dữ liệu bảng. Chỉ dùng trong PDF sang excel.
	  Boolean onlySaveTable = true;
	  
    // định dạng tệp kết quả
	  String format = "XLS";
    
    // đọc tệp SXC từ hệ thống cục bộ
    File file = new File("/Users/nayyer/"+fileName);	
	    	    
    // tải nguồn SXC lên bộ nhớ đám mây
	  api.uploadFile("source.sxc", file, "default");
  
    // thực hiện thao tác chuyển đổi tài liệu
    api.cellsWorkbookGetWorkbook("source.sxc", password, format, 
	    			            isAutoFit, onlySaveTable, null,"default", "Output.xls","default", null);  
	    
    // in thông báo thành công
    System.out.println("Successsul conversion of Open Office Spreadsheets (SXC) to Excel !");
    }catch(Exception ex)
    {
        System.out.println(ex.getMessage());
    }
Bản xem trước SXC sang Excel

Hình ảnh1:- Xem trước chuyển đổi SXC sang Excel

Để bạn tham khảo, nguồn SXC và XLS kết quả đã được chia sẻ qua source.sxcoutput.xls

Xuất bảng tính Open Office sang Excel bằng lệnh cURL

Vì các API REST có thể dễ dàng được truy cập thông qua các lệnh cURL, nên trong phần này, chúng tôi sẽ gọi Aspose.Cells Cloud thông qua các lệnh cURL để thực hiện yêu cầu của chúng tôi. Bây giờ, một trong những điều kiện tiên quyết cho hoạt động này là tạo mã thông báo truy cập JWT (dựa trên thông tin đăng nhập của khách hàng) trong khi thực hiện lệnh sau.

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"

Bây giờ, khi chúng tôi có mã thông báo JWT, chúng tôi cần thực hiện lệnh sau để chuyển đổi bảng tính văn phòng mở sang XLS. XLS kết quả sẽ được lưu trữ trong bộ lưu trữ đám mây.

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>"

Phần kết luận

Bài viết này đã giải thích việc chuyển đổi định dạng Open Office Spreadsheets (SXC) sang định dạng XLS, XLSX, v.v. bằng cách sử dụng đoạn mã Java. Tương tự, chúng tôi cũng đã khám phá một tùy chọn chuyển đổi SXC sang Excel bằng cách sử dụng các lệnh cURL trong khi thực hiện chúng trên thiết bị đầu cuối dòng lệnh. Bạn có thể nhận thấy một khía cạnh tốt khác của việc chuyển đổi Open Office Excel (SXC) sang XLS là kích thước của tệp mới này được giảm/tối ưu hóa. Xin lưu ý rằng tất cả SDK đám mây của chúng tôi đều được xây dựng theo giấy phép MIT, vì vậy bạn có thể tải xuống mã nguồn hoàn chỉnh từ GitHub. Bạn có thể cân nhắc việc liên hệ với chúng tôi để được giải quyết vấn đề nhanh chóng thông qua diễn đàn hỗ trợ sản phẩm miễn phí.

Những bài viết liên quan

Chúng tôi thực sự khuyên bạn nên truy cập các liên kết sau để tìm hiểu thêm về: