0

私はこれを行う方法について本当に混乱しています。

  • ファイル アップロード コントロールを使用して、Web アプリから Excel シートをアップロードできるようにしたいと考えています。
  • 次に、最初の行の下にある個々の行を読み取りたいと思います。(したがって、行 2 から開始すると、行 1 が列のタイトルになります)。
  • 最後に、読み取った文字列を別のメソッドに渡して、必要な処理を実行してから、グリッドビューに投稿したいと考えています。

私はどのようにそうするつもりですか...
ネットワーク上でWebアプリを公開し、ローカルボックスでホストしているため...アップロードされたファイル(デスクトップ)の通常の保存パスが機能しません。
そこで、ローカル ボックスでもホストされている SQL Server に保存することを考えました。

したがって、私はしようとしていると思います:

  • アップロードした Excel を SQL データベースに保存します。
  • Excel から各行を読み取り、目的のメソッドに渡します。

わかりました、それは非常に混乱しました。これを行う簡単な方法があるはずです。(本当に SQL データベースが必要ですか?)
ああ、それと、savePath に関する何か良いアイデアはありますか?

4

1 に答える 1

0

これは本当に解決していません。ただし、次のように OleDBConnection を使用すると、Excel ファイルにあるものを簡単に読み取ることができます。

            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; 
                }
            }

次に、SqlConnection を使用して SQL Server に書き込む別のメソッドに渡します。このような:

        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;
            }
        }
于 2010-09-01T22:04:04.323 に答える