使用C#制作批量解锁和加密Excel工作簿的小程序
- 首先,创建一个Windows窗体应用程序
添加项目引用
然后,引入Excel的命名空间
using Excel = Microsoft.Office.Interop.Excel;
2.引入命名空间之后就可以从外部控制Excel了,下一步设计程序界面,保留两个空标签来提示用户操作,当然,用状态栏也可以。
3.设置选择文件
private void selectBtn_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "Excel文件(*.xlsx,*.xlsm,*.xls)|*.xlsx;*.xlsx;*.xls|所有文件(*.*)|*.*";
openFileDialog1.ShowDialog();
fileCount = openFileDialog1.FileNames.Count();
label3.Text = "已选择" + fileCount + "个文件";
}
效果
4.设置解锁
private void unlockBtn_Click(object sender, EventArgs e)
{
int i = 0;
Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true;
excelApp.DisplayAlerts = false;
string[] pwdArr = textBox1.Text.Replace("\r", "").Split('\n');
foreach (string outFileName in openFileDialog1.FileNames)
{
foreach (string outPwd in pwdArr)
{
try
{
Excel.Workbook wb = excelApp.Workbooks.Open(outFileName.Trim(), missing, missing, missing, outPwd);
wb.Password = "";
wb.Save();
wb.Close();
i++;
break;
}
catch { }
}
}
label4.Text = "已进行解锁操作,\n成功:" + i + " 失败:" + (fileCount - i);
excelApp.DisplayAlerts = true;
}
4.加密部分代码
private void lockBtn_Click(object sender, EventArgs e)
{
int i = 0;
Excel.Application excelApp = new Excel.Application();
excelApp.Visible = true;
excelApp.DisplayAlerts = false;
foreach (string outFileName in openFileDialog1.FileNames)
{
try
{
Excel.Workbook wb = excelApp.Workbooks.Open(outFileName.Trim());
wb.Password = textBox2.Text.Trim();
wb.Save();
wb.Close();
i++;
}
catch { }
}
label4.Text = "已进行加密操作,\n成功:" + i + " 失败:" + (fileCount - i);
excelApp.DisplayAlerts = true;
}
至此,整个程序就完成啦!