C# 储蓄及;从SharePoint 2010服务器位置访问本地计算机excel文件

C# 储蓄及;从SharePoint 2010服务器位置访问本地计算机excel文件,c#,asp.net,.net,file-upload,sharepoint-2010,C#,Asp.net,.net,File Upload,Sharepoint 2010,我有一个上传Excel功能,可以将数据从Excel上传到Asp.net文本框控件。目前,我的asp.net应用程序托管在SharePoint 2010环境中。上载excel时,它将保存在服务器计算机位置(例如:C:\Test),并将再次从服务器位置调用它,以通过access数据库引擎处理数据,并作为逗号分隔的值上载到服务器上的文本框控件 由于管理员的安全问题,我们无法将文件保存在服务器位置。当我浏览并单击“上载”,然后将相同的本地计算机路径传递给服务器以处理我的请求时,是否有办法将文件保存在本地

我有一个上传Excel功能,可以将数据从Excel上传到Asp.net文本框控件。目前,我的asp.net应用程序托管在SharePoint 2010环境中。上载excel时,它将保存在服务器计算机位置(例如:C:\Test),并将再次从服务器位置调用它,以通过access数据库引擎处理数据,并作为逗号分隔的值上载到服务器上的文本框控件

由于管理员的安全问题,我们无法将文件保存在服务器位置。当我浏览并单击“上载”,然后将相同的本地计算机路径传递给服务器以处理我的请求时,是否有办法将文件保存在本地计算机中(基本上,我们希望将文件保存在用户本地计算机上,而不是服务器物理路径上)。谁能解释一下这个问题吗。下面是我当前用于存储在服务器位置(我想将其更改为用户本地计算机)的代码

strTarget=Server.MapPath(fileUpload.FileName);
字符串[]arrCheckExtension=strTarget.Split('.');
如果(arrCheckExtension.Length>=2)
{
if(arrCheckExtension[1].ToString().Equals(“xls”)| | arrCheckExtension[1].ToString().Equals(“xlsx”))
{
fileUpload.SaveAs(strTarget);
strConnForExcel=String.Format(@“Provider=Microsoft.ACE.OLEDB.12.0;数据源={0};扩展属性=”“Excel 12.0;HDR=YES;IMEX=1;“”,strTarget);
strQueryForExcel=String.Format(“从[{0}$]中选择id”,“测试”);
OleDbDataAdapter adap=新的OleDbDataAdapter(strQueryForExcel、strConnForExcel);
ds=新数据集();
adap.填充(ds);
如果(ds.Tables[0].Rows.Count>0)
{
对于(int i=0;i
您也可以将Excel文件存储在SharePoint文档库中。嗨,artokai,谢谢您的回复。我尝试将文档保存到sharepoint文档库,但似乎无法使用sharepoint位置读取文档。它应该是保存和读取文档的根路径。我认为OleDbDataAdapter也不能从用户的工作站读取文件。除非OleDbDataAdapter支持从MemoryStream读取,否则您可能会运气不佳。但我不认为它支持这一点。当然,您可以使用支持处理存储在内存流中的Excel文件的第三方组件。其中一个组件是“Aspose.Cells for.NET”,但我自己还没有使用过它。
strTarget = Server.MapPath(fileUpload.FileName);
string[] arrCheckExtension = strTarget.Split('.');
if (arrCheckExtension.Length >= 2)
{
  if (arrCheckExtension[1].ToString().Equals("xls") || arrCheckExtension[1].ToString().Equals("xlsx"))
  {
    fileUpload.SaveAs(strTarget);
    strConnForExcel = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;""", strTarget);
    strQueryForExcel = String.Format("select id from [{0}$]", "Test");
    OleDbDataAdapter adap = new OleDbDataAdapter(strQueryForExcel, strConnForExcel);
    ds = new DataSet();
    adap.Fill(ds);
    if (ds.Tables[0].Rows.Count > 0)
    {
      for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
      {
        if (strids == "")
        {
          strids += ds.Tables[0].Rows[i]["id"].ToString();
        }
        else
        {
          strids += "," + ds.Tables[0].Rows[i]["id"].ToString();
        }
      }
      txtUpload.Text = strids;
    }
  }
  else
  {
    Response.Write("<script language='javascript'>alert('Please Select File with .xls or xlsx Extension');</script>");
  }
}