2010-08-13 2 views
0

나는 이것을하는 방법에 대해 정말로 혼란 스럽다. - fileupload 컨트롤을 사용하여 웹 응용 프로그램에서 Excel 시트를 업로드하고 싶습니다. - 다음으로 첫 번째 행 아래의 개별 행을 읽으려고합니다. (따라서 행 2에서 시작하여 행 1이 열 제목이됩니다). - 마지막으로, 내가 읽은 문자열을 다른 메서드로 전달하여 원하는대로 처리 한 다음 gridview에 게시하려고합니다.savepath? 절약 Excel로?

어떻게할까요 ... 내 웹 응용 프로그램을 네트워크에 게시 했으므로 내 로컬 상자에서 호스팅 ... 내 평상시 파일 업로드 (바탕 화면) 저장 경로가 작동하지 않습니다. 그래서 내 로컬 상자에서 호스팅되는 SQL Server에 저장하는 것이 좋습니다.

따라서, 나는 다음과 같이하려고 시도하고있는 것 같아요 : - 업로드 된 엑셀을 SQL 데이터베이스에 저장하십시오. - Excel에서 각 행을 읽고 원하는 방법으로 전달하십시오.

좋습니다. 매우 혼란 스럽습니다. 이것을하기위한 더 쉬운 방법이 있어야합니다! (정말로 SQL 데이터베이스가 필요합니까?) 아, 내 savePath에 대한 좋은 아이디어가 있습니까?

+0

자세한 내용이 필요합니다. 개발 환경? 웹 서버? 일반적인 저장 경로가 작동하지 않는 이유는 무엇입니까? 왜 당신이 이것과 관련된 SQL Server를 원하게되는지 잘 모르겠습니다. – Bill

+0

내가 가진 savePath는 @ "C : \ desktop \"였고 내 로컬 상자에 웹 응용 프로그램을 호스팅하고 있기 때문에 파일 경로를 찾을 수 없었습니다. SQL 관련해서, 나는 파일을 SQL에 저장할 수 있기 때문에 파일을 찾을 수있을 것이라고 생각했다. 이해가 되나? ** 미안, 내가 실제로 도움이 필요하지 않다는 것을 믿기 위해 사람들을 오도 할 것 같은 느낌이 들었다. ㅎ. – loreedee

답변

0

정말 해결되지 않았습니까? 그러나이 같은 OleDbConnection 개체를 사용하여 엑셀 파일의 어떤 읽기 쉽게 :

다음
  try 
      { 
       using (OleDbConnection olcon = new OleDbConnection()) 
       { 
         olcon.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(fileupFile.FileName) + ";Extended Properties=Excel 12.0"; 
         OleDbCommand olcmd = new OleDbCommand("SELECT * FROM [Sheet1$]", olcon); 
         olcon.Open(); 
         OleDbDataReader olread = olcmd.ExecuteReader(); 
         while (olread.Read()) 
         { 
          line = (String)(olread.GetString(0)); 
          Verify(line); //calls the datatosql method 
         } 
         olcon.Close(); 
         lblFiup.Text = "Data Inserted Sucessfully"; 
         lblFiup.ForeColor = System.Drawing.Color.Green; 
       } 
      } 

, SQL 서버로 쓸도록 SqlConnection을 사용하는 다른 방법으로 전달합니다. 이와 같이 :

 protected void datatosql(String url, String stat) 
     { 
      try 
      { 
       using (SqlConnection sqlcon = new SqlConnection("Server=(local);Database=URLs;Trusted_Connection=True")) 
       { 
        using (SqlCommand sqlcom = sqlcon.CreateCommand()) 
        { 
         sqlcom.CommandText = "INSERT INTO WEVRecordsTest (URL, Status) VALUES ('" + url + "','" + stat + "')"; 
         sqlcon.Open(); 
         sqlcom.ExecuteNonQuery(); 
         sqlcon.Close(); 
        } 
       } 
      } 
      catch (SqlException se) 
      { 
       lblHist.Text = se.Message; 
       lblHist.ForeColor = System.Drawing.Color.Red; 
      } 
     }