保存到配置单元后,在客户端机器中打开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表,并在客户端将其保存到自己的位置后从配置单元中删除文件。

请帮忙。

保存到配置单元后,在客户端机器中打开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;
        }