【发布时间】:2019-03-08 05:37:47
【问题描述】:
我有数据必须加载到字节数组中的 excel 文件中,我需要对其应用密码保护。 我尝试将 byte[] 转换为数据表/列表,并尝试使用 Excelpackage 应用密码保护,但我无法将 byte[] 数组中的数据正确转换为任何形式。我的文件正在下载,但有一些奇怪的数据。有人可以分享你的知识吗?
response.Clear();
response.Buffer = true;
response.ContentEncoding = System.Text.Encoding.UTF8;
response.ContentType = mimeType;
response.AddHeader("content-disposition", "attachment;filename="
+ Uri.EscapeDataString(fileName));
response.Charset = "";
response.Cache.SetCacheability(HttpCacheability.NoCache);
DataTable dt;
MemoryStream stream;
using (stream = new MemoryStream(fileBytes))
{
BinaryFormatter bin = new BinaryFormatter();
stream.Seek(0, SeekOrigin.Begin);
dt = (DataTable)formatter.Deserialize(stream);
stream.Close();
}
using (ExcelPackage pack = new ExcelPackage())
{
ExcelWorksheet ws = pack.Workbook.Worksheets.Add("heelo");
ws.Cells["A1"].LoadFromDataTable(dt, true);
pack.Save("123");
var ms = new System.IO.MemoryStream();
pack.SaveAs(ms);
ms.WriteTo(HttpContext.Current.Response.OutputStream);
ms.Close();
}
response.Flush();
response.End();
【问题讨论】:
-
@SirRufo 我的意思是是的,但就像它是依赖于至少几个库和一些强命名字段的程序的子集。也许会详细说明
-
您能按照您的建议编辑代码吗?
标签: c# epplus password-protection excelpackage