Excel导入导出加密码保护/加解密(Aspose.Cells方式)

Aspose.Cells.dll需要用破解版文件,请悉知。文件下载链接:https://pan.baidu.com/s/1y4oNiT4UG24wBniA25LX8g  提取码:vc68 

1、文件导出 

public static bool AsposeCellsExport(System.Data.DataTable dt,string filepath)
{
   try
   {
	    if (dt == null)
	    {
		    MessageBox.Show("数据为空");
		    return false;
	    }

	    //Aspose.Cells.TxtLoadOptions lo = new TxtLoadOptions();
	    //lo.Encoding = Encoding.Default;//中文乱码
	    //Aspose.Cells.Workbook book = new Aspose.Cells.Workbook(filepath, lo);//打开受保护文件时,列名为乱码,可能是格式不对
	
	    Aspose.Cells.Workbook book = new Aspose.Cells.Workbook(); //创建工作簿
	    book.Settings.Password = "pwd123";
	
	    Aspose.Cells.Worksheet sheet = book.Worksheets[0]; //创建工作表
	    Cells cells = sheet.Cells; //单元格
	    //创建样式

	    int Colnum = dt.Columns.Count;//表格列数
	    int Rownum = dt.Rows.Count;//表格行数
	    //生成行 列名行
	    for (int i = 0; i < Colnum; i++)
	    {
		    cells[0, i].PutValue(dt.Columns[i].ColumnName); //添加表头
	    }
	    //生成数据行
	    for (int i = 0; i < Rownum; i++)
	    {
		    for (int k = 0; k < Colnum; k++)
		    {
		    	cells[1 + i, k].PutValue(dt.Rows[i][k].ToString()); //添加数据
		    }
	    }
	    sheet.AutoFitColumns(); //自适应宽
	    book.Save(filepath); //保存
	    MessageBox.Show("Excel保存成功!!!");
	    GC.Collect();
	    return true;
    }
    catch (Exception e)
    {
    	MessageBox.Show(e.Message.ToString());
    	return false;
    }
}

2、文件导入

public static System.Data.DataTable AsposeCellsImport(string filepath)
{
    try
    {
	    System.Data.DataTable dt = new System.Data.DataTable();
	    OpenFileDialog openFileDialog = new OpenFileDialog();
	    openFileDialog.InitialDirectory =  filepath;//注意这里写路径时要用c:\\而不是c:\
	    openFileDialog.Filter = "Excel文件|*.xls"; // CSV文件|*.csv    Excel文件|*.xls
	    openFileDialog.RestoreDirectory = true;
	    openFileDialog.FilterIndex = 1;
	    if (openFileDialog.ShowDialog() == DialogResult.OK)
	    {
	    	LoadOptions loadOptions = new LoadOptions();
	    	loadOptions.Password = "pwd123";
		
		    Aspose.Cells.Workbook wk = new Aspose.Cells.Workbook(openFileDialog.FileName,loadOptions);
		    Aspose.Cells.Worksheet ws = wk.Worksheets[0];
		    Cells cells = wk.Worksheets[0].Cells;
		    //wk.Settings.Password = "pwd123";//文件密码--报错:Invalid Password
		    wk.Unprotect("pwd123");
		    if (cells.Count > 0 )
		    	dt = cells.ExportDataTable(0, 0, cells.MaxDataRow + 1, cells.MaxColumn + 1, true);

		    //for(int i=0;i<dt.Columns.Count;i++)
		    //{
		    //MessageBox.Show(dt.Columns[i].ColumnName.ToString());
		    //}
		    //for (int k = 0; k < dt.Rows.Count; k++)
		    //{
		    //for (int h = 0; h < dt.Columns.Count; h++)
		    //{
		    //MessageBox.Show(dt.Rows[k][h].ToString());
		    //}
		    //}
	    }
	    return dt;
    }
    catch(Exception ex)
    {
    	MessageBox.Show(ex.Message.ToString());
    	return null;
    }
}

代码通过百度经验锤炼,受得起折磨。大家可以收藏啦!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值