excel - ADODB Stream 将二进制转换为字符串
问题描述
尝试使用 ADODB 从 URL 打开文件,然后将其用作字符串流时,我遇到了问题。基本上,我面临的问题几乎是这个问题的重复:
除了我以后必须使用 ADODB 流来处理内容。因此,完全跳过 ADODB 不是一种选择,就像在另一个主题的答案中一样。现在,我正在做的是发出 HTTP GET 请求,使用二进制流将其保存为文件,然后使用文本流加载相同的文件。这工作得很好,但必须有一种方法可以跳过保存加载部分并使其直接工作。
这是我到目前为止的代码:
Dim myURL As String
myURL = "https://xyz.xyz/xyz.csv"
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False
WinHttpReq.Send
Dim objStream, strData
Dim leftcellstarttemp As Variant, rightcellstarttemp As Variant, leftcellendtemp As Variant, rightcellendtemp As Variant, r As Long, line As String, dtStr As String, mlValue As String, dtArr() As String
myURL = WinHttpReq.ResponseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.ResponseBody
oStream.SaveToFile "C:\Temp\file1.csv", 2
oStream.Close
Set objStream = CreateObject("ADODB.Stream")
objStream.Charset = "utf-8"
objStream.Type = 2
objStream.Open
objStream.LoadFromFile "C:\Temp\file1.csv"
line = objStream.ReadText(-2)
End If
Do Until objStream.EOS
(and so on, and so forth...)
你能帮我解决这个不必要的文件保存加载过程吗?
谢谢!
解决方案
推荐阅读
- spring - Spring Boot @ConditionalOnProperty 没有看到属性覆盖
- ios - 使用 URL Scheme 从 iOS 应用导航到 LinkedIn-Learning iOS 应用
- c# - 从 stdout 或 stderr 异步读取
- json - json 是否应该采用特定格式才能在 neo4j 中加载?
- facebook - 隐私问题发生变化后,是否可以从 facebook api 中提取用户详细信息?
- nestjs - NestJS @Injectable 在全局对象中使用:使用“new injectionable”还是“app.use(injectable)”?
- java - java.io.NotSerializableException:Kafka 中的 org.apache.kafka.clients.consumer.ConsumerRecord
- rally - 使用拉力赛 java api 列出拉力赛中 Parent 的所有子项目
- asp.net-mvc - HTML to PDF itextSharp - 处理多种字体和 unicode
- php - 通过 ksort 排序数组不起作用,在数组输出“1”上运行 ksort