2016-09-23 15 views
0

私はFTPサーバーからExcelファイルを読み込み、そのデータをリストに格納しようとしています。 Excelファイルは、FTPサーバから読み出しているが、データが正しい形式でデータを取得する方法FTPサーバーからExcelファイルを読むとき

を来ている。これは私のコード

static void Main(string[] args) 
    { 
     //Listing all files from a folder 

     string filename = getFileList("ftp://ftp.demosite.com/demoFolder/", "username", "password"); 


     //Here we know the file name 
     FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create("ftp://ftp.demosite.com/demoFolder/"+filename); 
     reqFTP.UsePassive = false; 
     reqFTP.UseBinary = true; 
     reqFTP.Credentials = new NetworkCredential("username", "password"); 
     reqFTP.Method = WebRequestMethods.Ftp.DownloadFile; 
     reqFTP.Proxy = GlobalProxySelection.GetEmptyWebProxy(); 

     FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse(); 
     Stream responseStream = response.GetResponseStream(); 

     // for excelread 
     StreamReader reader = new StreamReader(responseStream); 
     string[] allLines = reader.ReadToEnd().Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); 
     // for textfile read 
     //TextReader tmpReader = new System.IO.StreamReader(responseStream); 
     //string fileContents = tmpReader.ReadToEnd(); 
     Console.WriteLine("Now writing from file...."); 
     foreach (var item in allLines) 
     { 
      Console.WriteLine(item);     
     } 
     Console.WriteLine("all file content is printed...."); 
     Console.ReadKey(); 

    } 

であり、データがこの形式で来ている: Current O/P Format

助けてください! ありがとうございます。

+0

ファイルは '.xls'ファイルですか?これはバイナリ形式なので。たとえ '.xlsx'が行に分割されたとしても動作しません。 – stuartd

+0

これは.xlsファイルです。 – Siladitya

+0

@stuartd正しい形式でデータを取得する方法を教えてください – Siladitya

答えて

0

stuartdは指摘しました。あなたは、テキストファイルとしてExcelファイルを読み込んでいます。 Excelファイルを読みたい場合は、プロジェクトへのOffice.Interop.Excel参照を追加し、次にクラスに追加する必要があります。あなたのマシンに優れているなら、問題なくこれを行うことができます。あなたが優れていない場合は、サードパーティライブラリを見つける必要があります。私は最近Excelがあなたのマシン上にある場合、これを行う方法を説明した回答を投稿しました。

Linking Excel In C#

参照したら、あなたが適切にExcelファイルにアクセスすることができますがあります。

+0

私のプログラムでそのコードをどこで使うのですか? – Siladitya

+0

IDEを使用していると仮定します。まず、プロジェクトへの参照を追加する必要があります。プロジェクトを右クリックし、COMセクションの下に参照を追加し、Microsoft Excel Object Libraryを探します。これにより、Office.CoreとInterop.Excelの参照がプロジェクトに追加されます。これらのライブラリをクラスで使用するには...ライブラリにアクセスするために "using"ステートメントを追加します。次に、クラスはExcelファイルを開いたり作成したり、myWorkSheet.Cells [ARow、ACol] = "PF"のような処理を実行できます。その情報は上記のリンクにあります。お役に立てれば。 – JohnG

+0

マシンにExcelがない場合、http://stackoverflow.com/questions/2654932/create-excel-files-from-c-sharp-without-officeにいくつかのオプションがあります。 – JohnG

関連する問題