1

WSH で JScript を使用して、.xls ファイルからいくつかのセル値を読み取る必要があります。

それを行うために使用できるCOMオブジェクトまたは何かはありますか?

4

3 に答える 3

5

実際、これには COM コンポーネントがあります。その progId は「Excel.Application」であり、次のように使用します。

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

それでおしまい。それと同じくらい簡単です。変数cellValueは、セル ( rowcol) の値を保持します。
それが十分でないxlsFile場合は、ファイルへのパスまたは URL (はい、URL です!それは素晴らしいですね) です。

于 2011-04-05T22:05:12.297 に答える
1

ADO を使用して値を読み取ることができます...

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

于 2011-04-05T02:19:54.533 に答える
0

%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
于 2012-12-31T04:02:48.413 に答える