保存到配置单元后,在客户端机器中打开excel文件
本文关键字:机器 文件 excel 客户端 配置 单元 保存 | 更新日期: 2023-09-27 18:00:37
我想在excel表上写DataTable并在客户端机器中打开。让客户将文件保存在他喜欢的位置。我已经创建了文件并保存在配置单元上。但无法在客户端机器上打开它。我正在使用interop.dllfor excel。
excelWorkBook.Saved = true;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
excelWorkBook.SaveCopyAs(filename);
});
excelWorkBook.Close(Missing.Value, Missing.Value, Missing.Value);
excelWorkBook = null;
excelApp.Quit();
我想在客户端机器上打开保存的excel表,并在客户端将其保存到自己的位置后从配置单元中删除文件。
请帮忙。
试试这个。这将打开一个保存文件对话框。因此用户可以将文件保存到他想要的位置。。
try
{
string XlsPath = Server.MapPath(@"~/Resources/test.xls");// give ur file path here (where it is stored, in ur case ur Hive path)
FileInfo fileDet = new System.IO.FileInfo(XlsPath);
Response.Clear();
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.UTF8;
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(fileDet.Name));
Response.AddHeader("Content-Length", fileDet.Length.ToString());
Response.ContentType = "application/ms-excel";
Response.WriteFile(fileDet.FullName);
Response.End();
}
catch (Exception ex)
{
throw ex;
}
这就是使用SharePoint Web部件的方法
try
{
using (SPSite site = new SPSite(SPContext.Current.Web.Url))
{
SPWeb currentWeb = site.RootWeb;
currentWeb.ParserEnabled = false;
SPFile spFile = currentWeb.GetFile(@"/Shared%20Documents/test.xls"); // ur documet url saved in document library
string localFileName = Path.Combine(@"c:'Users'anbuj'Documents'Backup", string.Format("{0}.xls","tempfile")); // tenpFilePath is where u wanna save ur file
SPSecurity.RunWithElevatedPrivileges(delegate()
{
FileStream outStream = new FileStream(localFileName, FileMode.Create);
byte[] fileData = spFile.OpenBinary();
outStream.Write(fileData, 0, fileData.Length);
outStream.Close();
}
);
}
}
catch(Exception ex)
{
throw ex;
}