我有一个记录集(DataTable),我将其保存到Excel,然后需要保存到数据库(作为二进制文件)。
我有两个部分单独工作,但我无法弄清楚如何将它们绑在一起而不必将Excel的硬拷贝实际保存到磁盘。
以下是“导出到Excel”代码:
string attachment = "attachment; filename=" + filename;
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gvCompleteCases.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
和“将文件保存到数据库”片段:
byte[] fileData = null;
using (var binaryReader = new BinaryReader(file.InputStream))
{
fileData = binaryReader.ReadBytes(file.ContentLength);
UploadFile.Upload2(GetD(), file.ContentLength, fu.FileBytes, numberOfPages);
}
上面的例子将文件保存到用户的机器然后我必须指向它的位置以保存到数据库,有没有一种方法可以创建Excel文件,而不保存到用户的硬盘,然后将其保存到数据库?
我想我要问的是如何获得创建的Excel的fileData
,而不将其保存到计算机上?