1

こんにちは、s3サーバーに保存されているExcelファイルを読む必要があります。試してみましたが、無効なインターネットアドレスが表示されています.解決するのを手伝ってください

string fullPath = "http://tempfordevelopment.s3.amazonaws.com/ad53498f-74e8-412c-8c8f-e36b18f16e4eEmailExcel2.xlsx";

            //Uri uri = new Uri(fullPath);
            //string excelLocation = uri.LocalPath;

            String sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + fullPath + "; Extended Properties='Excel 8.0;HDR=Yes'";
            System.Data.DataSet DtSet;
            System.Data.OleDb.OleDbDataAdapter MyCommand;
            OleDbConnection objConn = new OleDbConnection(sConnectionString);

            MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", sConnectionString);
            MyCommand.TableMappings.Add("Table", "Net-informations.com");
            DtSet = new System.Data.DataSet();
            MyCommand.Fill(DtSet);/////Here i am getting error as invalid internet address


            DataTable table = DtSet.Tables[0];

            string[] strings = new string[table.Rows.Count];
            int idx = 0;
            foreach (DataRow row in table.Rows)
            {
                StringBuilder sb = new StringBuilder();
                object[] cells = row.ItemArray;
                for (int i = 0; i < cells.Length; i++)
                {
                    if (i != 0) sb.Append(',');
                    sb.Append(cells[i]);
                }
                strings[idx++] = sb.ToString();
            }
4

2 に答える 2

2

http 経由でファイルを直接開くことはできません。ダウンロードしてから、ディスクから開く必要があります。ダウンロードする最も簡単な方法は、おそらく WebClient を使用することです。

ファイルをディスクに保存したくない場合は、次のようにします。

var client = new WebClient();

String url = "http://...";
var fullPath = Path.GetTempFileName();
client.DownloadFile(url, fullPath);
于 2012-07-24T05:53:39.173 に答える
0

Excelファイルを読む - http://exceldatareader.codeplex.com/

于 2012-07-24T06:03:30.213 に答える