下载并保存excel文件
本文关键字:文件 excel 保存 下载 | 更新日期: 2023-09-27 17:50:13
我正在使用:`private void get_stocks_data(({byte[]结果;byte[]buffer=新字节[4096];
WebRequest wr = WebRequest.Create("http://www.tase.co.il/TASE/Pages/ExcelExport.aspx?sn=he-IL_ds&enumTblType=AllSecurities&Columns=he-IL_Columns&Titles=he-IL_Titles&TblId=0&ExportType=1");
using (WebResponse response = wr.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (MemoryStream memoryStream = new MemoryStream())
{
int count = 0;
do
{
count = responseStream.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
} while (count != 0);
result = memoryStream.ToArray();
write_data_to_excel(result);
}
}
}`
下载excel文件,
这种方法来填充我电脑上的文件:
private void write_data_to_excel(byte[] input)
{
StreamWriter str = new StreamWriter("stockdata.xls");
for (int i = 0; input.Length > i; i++)
{
str.WriteLine(input[i].ToString());
}
str.Close();
}
结果是我得到了很多数字。。。我做错了什么?我下载的文件是excel 2003版,在我的电脑上我有2007。。。谢谢
我建议您改用WebClient.DownloadFile()
。
这是一种更高级别的方法,它将从手动创建请求、处理编码等方面进行抽象。
Write_data_to_excel函数存在问题
当您使用StreamWriter.WriteLine
方法时,它需要字符串,
您将字节作为字符串传递,因此您的二进制值10现在将是字符串10
尝试FileStream f = File.OpenWrite("stockdata.xlsx");
,这将起作用。
f.Write(input,0,input.Length);