如何从 VBScript 读取 Excel 文件?
How to read an Excel file from VBScript?
我试图在 VBScript 中读取一个 Excel 文件,但是在 file.Readline
中我得到了奇怪的字符。您知道如何正确获取单元格的值吗?没有 Excel 个库。
Dim fso,file
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set dict = CreateObject("Scripting.Dictionary")
Set file = fso.OpenTextFile ("C:\myFile.xlsx",1)
row = 0
Do Until file.AtEndOfStream
line = file.Readline
dict.Add row, line
row = row + 1
Loop
file.Close
如果您在 excel 中编写宏(也是 visual basic 脚本),获取单元格值的方法不止一种。
有测距功能
(示例来自网络:)Worksheets("Sheet1").Range("A5").Value
有单元格功能(来自网络的示例) Cells(1, 1).
excel 文件 (xslx) 实际上应该是数据为 xml 的 zip 文件。
我认为这就是为什么如果您使用 VB 编译器就无法阅读它的原因。
您很可能需要将页面的编码设置为 UTF-8。请参阅之前的链接以获取简单说明:
Classic ASP text substitution and UTF-8 encoding
https://www.w3schools.com/asp/prop_charset.asp
所以它看起来像下面这样,位于页面顶部附近:
Response.Charset = "UTF-8"
我已经使用扩展名 .CSV 解决了我的问题,因为这允许我以 .txt 格式读取信息,其中每列默认用逗号分隔,所以我的代码可以正常工作。
我试图在 VBScript 中读取一个 Excel 文件,但是在 file.Readline
中我得到了奇怪的字符。您知道如何正确获取单元格的值吗?没有 Excel 个库。
Dim fso,file
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set dict = CreateObject("Scripting.Dictionary")
Set file = fso.OpenTextFile ("C:\myFile.xlsx",1)
row = 0
Do Until file.AtEndOfStream
line = file.Readline
dict.Add row, line
row = row + 1
Loop
file.Close
如果您在 excel 中编写宏(也是 visual basic 脚本),获取单元格值的方法不止一种。 有测距功能 (示例来自网络:)Worksheets("Sheet1").Range("A5").Value 有单元格功能(来自网络的示例) Cells(1, 1).
excel 文件 (xslx) 实际上应该是数据为 xml 的 zip 文件。 我认为这就是为什么如果您使用 VB 编译器就无法阅读它的原因。
您很可能需要将页面的编码设置为 UTF-8。请参阅之前的链接以获取简单说明:
Classic ASP text substitution and UTF-8 encoding https://www.w3schools.com/asp/prop_charset.asp
所以它看起来像下面这样,位于页面顶部附近:
Response.Charset = "UTF-8"
我已经使用扩展名 .CSV 解决了我的问题,因为这允许我以 .txt 格式读取信息,其中每列默认用逗号分隔,所以我的代码可以正常工作。