protect
Protect is a flutter and dart library for applying and removing password protection on excel files.
Table of Contents
Lets Get Started
1. Depend on it
Add this to your package's pubspec.yaml
file:
dependencies:
protect: ^1.0.0
2. Install it
You can install packages from the command line:
with pub
:
$ pub get
with Flutter
:
$ flutter packages get
3. Import it
Now in your Dart
code, you can use:
import 'package:protect/protect.dart';
Usage
Imports
import 'dart:io';
import 'package:protect/protect.dart';
Read XLSX File
var file = "Path_to_pre_existing_Excel_File/excel_file.xlsx";
var unprotectedExcelBytes = await File(file).readAsBytes();
or
//var protectedExcelBytes = await File(file).readAsBytes();
Read XLSX from Flutter's Asset Folder
import 'package:flutter/services.dart' show ByteData, rootBundle;
/* Your blah blah code here */
ByteData data = await rootBundle.load("assets/existing_excel_file.xlsx");
var bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
var unprotectedExcelBytes = await File(file).readAsBytes();
or
//var protectedExcelBytes = await File(file).readAsBytes();
Apply password protection on XLSX File
///
/// Applying password protection
/// where `unprotectedExcelBytes` is the bytes of unprotected excel
///
ProtectResponse encryptedResponse = await Protect.encryptUint8List(unprotectedUint8List, 'contact@kawal.dev');
var data;
if (encryptedResponse.isDataValid) {
data = encryptedResponse.processedBytes;
} else {
print('Excel file used for applying password over it is corrupted');
}
Remove password protection on XLSX File
///
/// Applying password protection
/// where `protectedUint8List` is the bytes of encrypted excel
///
ProtectResponse decryptedResponse = await Protect.decryptUint8List(protectedUint8List, 'contact@kawal.dev');
var data;
if (decryptedResponse.isDataValid) {
data = decryptedResponse.processedBytes;
} else {
print('Either password is wrong for opening the excel file or the Excel file is corrupted');
}
Saving XLSX File
// Save the Changes in file
var outputPath = '/Path_to_excel_folder/form_encrypted_file.xlsx';
await File(outputPath)
..create(recursive: true)
..writeAsBytes(data);
Donate
Help me speed up my build time..... 🔎 Help me buy Macbook Pro 16 M1 Max !!