Как читать электронную таблицу с помощью WSH? - PullRequest
1 голос
/ 05 апреля 2011

Мне нужно прочитать некоторые значения ячеек из файла .xls, используя JScript в WSH.

Есть ли какой-либо COM-объект или что-нибудь, что я могу использовать для этого?

Ответы [ 3 ]

5 голосов
/ 06 апреля 2011

На самом деле для этого есть COM-компонент. Его progId - «Excel.Application», и вы используете его так:

var XLS = WScript.CreateObject("Excel.Application") ;
XLS.Workbooks.open(xlsFile) ;
var cellValue = XLS.Cells(row,col).Value ;

Вот и все. Так просто. Переменная cellValue теперь содержит значение в ячейке (row, col).
И если этого недостаточно, xlsFile может быть путем к файлу или URL-адресу (да, URL!

1 голос
/ 05 апреля 2011

Вы можете использовать ADO для чтения значений ...

http://technet.microsoft.com/en-us/library/ee692882.aspx

0 голосов
/ 31 декабря 2012

% windir% \ SysWOW64 \ cscript.exe ExcelSheetName.vbs

ExcelSheetName.vbs:

Const ArrSize = 100

Dim ArrSheetName()

ReDim ArrSheetName(ArrSize)

IndexArr = 0



Dim ExcelFileName

ExcelFileName = "D:\1\ExcelSrc.xls"


Dim ADOCatalog, ADOTable, ADODBConnection

Set ADOCatalog      = Createobject("ADOX.Catalog")

Set ADOTable        = Createobject("ADOX.Table")

Set ADODBConnection = CreateObject("ADODB.Connection")


Dim strConnString, strSheetName

strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ExcelFileName & ";Extended Properties=Excel 8.0;"


ADODBConnection.Open strConnString

Set ADOCatalog.ActiveConnection = ADODBConnection


For Each ADOTable In ADOCatalog.Tables

    strSheetName = ADOTable.Name

    strSheetName = Replace(strSheetName, "'", "")

    strSheetName = Left(strSheetName, InStr(1, strSheetName, "$", 1) - 1)

    'Wscript.Echo strSheetName

    ArrSheetName(IndexArr)=strSheetName

    IndexArr=IndexArr+1

Next

ReDim Preserve ArrSheetName(IndexArr-1)

ADODBConnection.Close

Set ADOCatalog      = Nothing

Set ADOTable        = Nothing

Set ADODBConnection = Nothing


For Each ArrValue in ArrSheetName

    Wscript.Echo ArrValue

Next
...