如何使用SSIS包将密码加密到Excel?
我想,我们可以使用脚本任务来实现这一点。我通过使用Spire.xls块模块尝试了下面的代码,但相应的块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#console应用程序中尝试了相同的代码,但它运行良好但不能在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");
}
}
}
应使用SSIS使用密码保护Excel。
在SSIS中,必须将dll部署到GAC以在脚本任务代码中引用。请参阅post on deploying to GAC for SSIS script task reference。有关避免部署到GAC的解决方法,请参阅here
我建议你从控制台应用程序生成exe并使用Execute Process任务来调用带参数的控制台应用程序,如here所述