1 private void button1_Click(object sender, EventArgs e) 2 { 3 4 WebClient wc = new WebClient(); 5 wc.Credentials = new NetworkCredential("yzk", "123"); 6 using (Stream stream = wc.OpenRead("ftp://192.168.1.100/qq.xls")) 7 { 8 9 //将网络流stream中的数据读取出来,存放到一个内存流 10 //创建一个内存流 11 using (MemoryStream ms = new MemoryStream()) 12 { 13 //创建一个缓冲区byte[] 14 byte[] byts = new byte[1024 * 1024];//1MB 15 16 while (true) 17 { 18 //从网络流中读取一部分数据到byts数组中 19 //返回值为本次实际读取到的字节数 20 int r = stream.Read(byts, 0, byts.Length); 21 if (r <= 0) 22 { 23 break; 24 } 25 26 //将本次读取到的数据写入到内存流中 27 ms.Write(byts, 0, r); 28 } 31 //stream.Length 32 //现在已经把stream中的数据都读取到了ms中。 33 using (Workbook wk = new HSSFWorkbook(ms)) 34 { 35 if (wk.NumberOfSheets > 0) 36 { 37 //获取第一个Sheet 38 using (Sheet sheet = wk.GetSheetAt(0)) 39 { 40 MessageBox.Show(sheet.SheetName); 41 } 42 } 44 } 47 } 50 } 51 }
.net framework中有操作FTP的类
将 ftp脚本写入批处理文件中,然后用 Process类执行它
0
.net framework中有操作FTP的类
WebClient有几个方法可能适合你:
1 OpenRead
2 DownloadFile