Šiame aiškiame straipsnyje pateikiama visa informacija apie kaip skaitmeniniu būdu pasirašyti Excel dokumentą naudojant Java. Jame yra loginių veiksmų, reikalingų šiai užduočiai atlikti programiškai, kartu su vykdomu pavyzdiniu kodu įterpti elektroninį parašą programoje Excel naudojant Java. Taip pat sužinosite, kaip pritaikyti šį procesą, kad būtų galima naudoti PFX skaitmeniniam parašui sukurti, o tada parašą įdėti į Excel failą prieš išsaugant jį kaip XLSX failą arba bet kokiu kitu palaikomu formatu.
Veiksmai, kaip sukurti skaitmeninį parašą programoje „Excel“ naudojant „Java“.
- Sukonfigūruokite aplinką naudoti Aspose.Cells iš saugyklos, kad pasirašytumėte Excel failą
- Sukurkite Keystore ir įkelkite sertifikatą naudodami sertifikato failo pavadinimą ir slaptažodį
- Sukurkite digital signature naudodami aukščiau pateiktą raktų saugyklą ir privataus rakto slaptažodį
- Pateikite komentarus, pasirašymo datą ir skaitmeninio parašo laiką
- Sukurkite skaitmeninių parašų kolekciją ir pridėkite prie jos naujai sukurtą skaitmeninį parašą
- Įkelkite workbook ir pridėkite prie jos skaitmeninių parašų kolekciją
- Išsaugokite skaitmeniniu parašu pasirašytą darbo knygą
Šie veiksmai aprašo procedūrą kaip sukurti elektroninį parašą programoje Excel naudojant Java. Pateikiamas laipsniškas procesas, kai pirmiausia sukuriama raktų saugykla naudojant PFX sertifikatą ir privataus rakto slaptažodį, tada sukuriama skaitmeninių parašų kolekcija ir į šią kolekciją įtraukiamas naujas raktų saugyklos pagalba sukurtas skaitmeninis parašas. Paskutiniame etape įkeliama tikslinė darbaknygė ir prie jos pridedamas skaitmeninių parašų rinkinys.
Kodas skaitmeniniam parašui įdėti į „Excel“ naudojant „Java“.
import java.io.FileInputStream; | |
import java.io.InputStream; | |
import com.aspose.cells.DigitalSignature; | |
import com.aspose.cells.DigitalSignatureCollection; | |
import com.aspose.cells.Workbook; | |
public class AsposeTest { | |
public static void main(String[] args) throws Exception {//Main function to add a digital signature to a spreadsheet in java | |
// Instantiate a license | |
com.aspose.cells.License slidesLicense = new com.aspose.cells.License(); | |
slidesLicense.setLicense("Aspose.Total.lic"); | |
// Using the cryptography PKCS12, create a Keystore | |
java.security.KeyStore keyStore = java.security.KeyStore.getInstance("PKCS12"); | |
// Load certificate into the InputStream | |
InputStream inStreamCert = new FileInputStream("TestCert1.pfx"); | |
// Load the certificate into the Keystore by providing the certificate file and its password | |
keyStore.load(inStreamCert, "testcert1".toCharArray()); | |
// Create the digital signature | |
DigitalSignature digtSign = new DigitalSignature(keyStore, "testcert1", "New digital signature is added to a workbook",com.aspose.cells.DateTime.getNow()); | |
// Instantiate a collection of digital signatures | |
DigitalSignatureCollection digtSignColl = new DigitalSignatureCollection(); | |
// Add the digital signature to the collection | |
digtSignColl.add(digtSign); | |
// Load the spreadsheet | |
Workbook wbToBeSigned = new Workbook("sampleSpreadsheet.xlsx"); | |
// Add the collection of digital signatures to the workbook | |
wbToBeSigned.addDigitalSignature(digtSignColl); | |
// Save the workbook with an electronic signature | |
wbToBeSigned.save("outputDigitallySignedByCells.xlsx"); | |
System.out.println("Done"); | |
} | |
} |
Šiame kode, norint * skaitmeniniu būdu pasirašyti Excel naudojant Java*, raktų saugykla sukuriama naudojant kriptografiją PKCS12, o tada į jį įkeliamas sertifikato failas. Skaitmeninis parašas sukuriamas pateikiant raktų saugyklą, privataus rakto slaptažodį, komentarus ir vartotojo pateiktą parašo laiką, tačiau taip pat galite pridėti parašo vaizdą, teikėjo ID ir XAdESType. Išvesties darbaknygę galima išsaugoti bet kuriuo palaikomu formatu, pvz., XLSX, XLS, XLSM, ODS, XLSB ir kt.
Šioje mokymo programoje buvo aprašytas Excel failo skaitmeninio pasirašymo procesas, tačiau jei norite sužinoti, kaip Excel konvertuoti į vaizdą, žr. straipsnį kaip Excel lapus konvertuoti į Java vaizdą.