如何使用SSIS包将密码加密为Excel?
我认为,我们可以使用脚本任务来实现这一目标。我通过使用Spire.xls nugget包尝试了以下代码,但相应的nugget dll参考未添加到解决方案中。
脚本任务代码:
using Spire.Xls;
namespace ProtectExcel
{
class Program
{
static void Main(string[] args)
{
//Load Workbook
Workbook book = new Workbook();
book.LoadFromFile(@"C:\Test\Test.xlsx");
//Protect Workbook
book.Protect("vinay-123");
//Save and Launch
book.SaveToFile(@"C:\Test\ProtectExcel.xlsx", ExcelVersion.Version2010);
//System.Diagnostics.Process.Start("ProtectExcel.xlsx");
}
}
}
我在c#控制台应用程序中尝试了相同的代码,但效果很好,但在SSIS脚本任务中却无法正常工作。
有人可以帮助我解决此问题或其他方法吗?
脚本任务代码:
using Spire.Xls;
namespace ProtectExcel
{
class Program
{
static void Main(string[] args)
{
//Load Workbook
Workbook book = new Workbook();
book.LoadFromFile(@"C:\Test\Test.xlsx");
//Protect Workbook
book.Protect("vinay-123");
//Save and Launch
book.SaveToFile(@"C:\Test\ProtectExcel.xlsx", ExcelVersion.Version2010);
//System.Diagnostics.Process.Start("ProtectExcel.xlsx");
}
}
}
Excel应该使用SSIS受密码保护。
答案 0 :(得分:0)
在SSIS中,必须将dll部署到GAC以引用脚本任务代码。请参阅post on deploying to GAC for SSIS script task reference。有关避免部署到GAC的解决方法,请参阅here
我建议您从控制台应用程序中生成exe并使用Execute Process任务调用具有参数的控制台应用程序,如here
所述