Protect is a flutter and dart library for applying and removing password protection on excel files.
Add this to your package's pubspec.yaml
file:
dependencies:
protect: ^0.0.2
You can install packages from the command line:
with pub
:
$ pub get
with Flutter
:
$ flutter packages get
Now in your Dart
code, you can use:
import 'package:protect/protect.dart';
import 'dart:io';
import 'package:protect/protect.dart';
var file = "Path_to_pre_existing_Excel_File/excel_file.xlsx";
var unprotectedExcelBytes = await File(file).readAsBytes();
or
//var protectedExcelBytes = await File(file).readAsBytes();
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();
///
/// Applying password protection
/// where `unprotectedExcelBytes` is Uint8List
///
ProtectResponse encryptedResponse = await Protect.encryptUint8List(unprotectedExcelBytes, 'contact@kawal.dev');
var data;
if (encryptedResponse.isDataValid) {
data = encryptedResponse.processedBytes;
} else {
print('Excel file used for applying password over it is corrupted');
}
///
/// Applying password protection
/// where `protectedExcelBytes` is Uint8List
///
ProtectResponse decryptedResponse = await Protect.decryptUint8List(protectedExcelBytes, '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');
}
// Save the Changes in file
var outputPath = '/Users/kawal/Desktop/form_encrypted_file.xlsx';
await File(outputPath)
..create(recursive: true)
..writeAsBytes(data);
Help me speed up my build time..... 🔎 Help me buy Macbook Pro 16 M1 Max !!