W tym prostym temacie dowiesz się, jak zabezpieczyć hasłem plik Excel za pomocą Java REST API. Opracujemy aplikację do szyfrowania pliku Excel za pomocą Java Cloud API, wykonując szczegółowe i przejrzyste kroki wymienione w poniższej sekcji. Opracowaną aplikację można zintegrować z dowolną aplikacją obsługującą Javę w środowiskach Linux, macOS lub Windows, a konwersja może być wykonana bezpłatnie.
Warunek wstępny
Utwórz konto i uzyskaj dane uwierzytelniające API w celu zabezpieczenia hasłem programu Excel za pomocą interfejsu API Java REST
Pobierać Aspose.Cells Cloud SDK for Java to encrypt Excel file using Java Cloud API
Skonfiguruj projekt Java przy użyciu powyższego zestawu SDK, aby chronić plik XLS
Kroki szyfrowania pliku Excel przy użyciu interfejsu API Java Low Code
- Ustaw identyfikator klienta i klucz tajny klienta dla interfejsu API, aby zaszyfrować skoroszyt hasłem za pomocą interfejsu API Java REST
- Utwórz obiekt klasy CellsApi z danymi uwierzytelniającymi klienta, aby zabezpieczyć plik XLS hasłem
- Określ nazwy plików źródłowych XLS i załaduj plik źródłowy XLS, używając nazwy i obiektu pliku w HashMap
- Utwórz instancję ProtectWorkbookRequest, aby ustawić hasło i inne właściwości
- Utwórz obiekt PostProtectRequest, aby ustawić pliki mapy i instancję ProtectWorkbookRequest
- Wywołaj metodę żądania postProtect, aby zaszyfrować plik Excela przy użyciu interfejsu API Java low code
- Zapisz zaszyfrowane pliki Excel na dysku lokalnym
Wspomniane kroki chronią Excel hasłem za pomocą Java REST API. Rozpoczniemy proces od konfiguracji SDK i utworzenia instancji klasy CellsAPI. Następnie załadujemy plik/pliki źródłowe XLS za pomocą HashMap i utworzymy instancję klas ProtectWorkbookRequest i PostProtectRequest, które są dalej używane do ustawiania ochrony hasłem dla plików Excel za pomocą metody postProtect().
Kod do ochrony hasłem programu Excel za pomocą interfejsu API Java REST
import com.aspose.cloud.cells.client.ApiException; | |
import com.aspose.cloud.cells.model.FileInfo; | |
import com.aspose.cloud.cells.model.FilesResult; | |
import com.aspose.cloud.cells.model.ProtectWorkbookRequest; | |
import com.aspose.cloud.cells.request.PostProtectRequest; | |
import java.io.File; | |
import java.io.FileInputStream; | |
import java.io.FileOutputStream; | |
import java.io.IOException; | |
import java.util.HashMap; | |
public class Example_PasswordProtectWorkbook { | |
public void Run() throws IOException, ApiException { | |
try { | |
String clientID = "ID"; | |
String clientSecret = "Secret"; | |
String apiBaseUrl = "https://api.aspose.cloud"; | |
String apiVersion = "v3.0"; | |
// Source and output file names | |
String localPath = "C:/ExcelFiles/"; | |
String inputFileName = "Source.xls"; | |
CellsApi protectXlstFileApi = new CellsApi(clientID, clientSecret, apiVersion, apiBaseUrl); | |
HashMap<String, File> mapFiles = new HashMap<>(); | |
mapFiles.put(inputFileName, new File(localPath + inputFileName)); | |
ProtectWorkbookRequest protectXlsRequest = new ProtectWorkbookRequest(); | |
protectXlsRequest.setEncryptWithPassword("test"); | |
protectXlsRequest.setAwaysOpenReadOnly(true); | |
PostProtectRequest postProtectRequest = new PostProtectRequest(); | |
postProtectRequest.setFile(mapFiles); | |
postProtectRequest.setProtectWorkbookRequest(protectXlsRequest); | |
FilesResult fileResult = protectXlstFileApi.postProtect(postProtectRequest); | |
for (FileInfo file : fileResult.getFiles()) { | |
try { | |
File destinationFile = new File(localPath + "protected_" + file.getFilename()); | |
// Create necessary parent directories | |
destinationFile.getParentFile().mkdirs(); | |
try (FileInputStream inputStream = new FileInputStream(file.getFileContent()); | |
FileOutputStream outputStream = new FileOutputStream(destinationFile)) { | |
byte[] buffer = new byte[4096]; // Buffer size of 4KB | |
int bytesRead; | |
while ((bytesRead = inputStream.read(buffer)) != -1) { | |
outputStream.write(buffer, 0, bytesRead); | |
} | |
System.out.println("XLS file writing completed"); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
catch (Exception ex) { | |
System.out.println("An error occurred:" + ex.getMessage()); | |
} | |
} | |
} | |
catch (Exception ex) { | |
System.out.println("An error occurred:" + ex.getMessage()); | |
} | |
} | |
} |
Ten prosty przykładowy kod umożliwia zabezpieczenie hasłem programu Excel za pomocą interfejsu API Java low code. Musisz podać pliki źródłowe programu Excel i hasło do zabezpieczenia wraz z innymi opcjonalnymi właściwościami. Po sformułowaniu komunikatu żądania, postProtect() wykonuje szyfrowanie pliku programu Excel i zwraca chronione hasłem pliki programu Excel, które mogą być przechowywane na dysku lub w bazie danych.
W tym temacie nauczyliśmy się szyfrować skoroszyt hasłem za pomocą Java REST API. Jeśli chcesz wykonać konwersję Excela do PNG, zapoznaj się z artykułem na temat Konwertuj Excel do PNG za pomocą Java REST API.