Доступ к данным Excel, не открывая их в приложении - PullRequest
0 голосов
/ 18 апреля 2019

Я ищу очень быстрый способ обработки файлов Excel, хранящихся в сети. Мне нужно проверить определенные значения в файлах Excel, но мой стандартный метод открытия книги, поиск того, что мне нужно, и закрытие - это долгий путь для этой огромной стопки файлов Excel.

Существуют ли другие способы доступа к содержимому Excel без необходимости их открытия?

Я читал об EPplus, но есть ли другие?

1 Ответ

0 голосов
/ 18 апреля 2019

Используя команду ExecuteExcel4Macro в VBA, вы можете получить доступ к данным в файлах Excel, не открывая сам файл.Недостатком является то, что вы должны знать конкретный диапазон, который вы ищете, но, похоже, это может быть для вас.

Например:

Private Function GetCellFromClosedFile(ByVal wbPath As String, wbName As String, wsName As String, _
                                       rowref As Long, colref As Long) As Variant
'Fetches the value of a single cell in a closed workbook
Dim val As String
    GetCellFromClosedFile = "" 'Clears old value
    If Right(wbPath, 1) <> "" Then wbPath = wbPath & "" 'Clears path string
    If Dir(wbPath & "" & wbName) = "" Then Exit Function 'If no new path exit
    'Returns single cell - can only return a single cell - use ADO to get a range
    val = "'" & wbPath & "[" & wbName & "]" & wsName & "'!" & _
          Range(Cells(rowref, colref), Cells(rowref, colref)).Address(True, True, xlR1C1)
    On Error Resume Next
    GetCellFromClosedFile = ExecuteExcel4Macro(val)
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...