Страницы: 1
RSS
Запрос PowerQuery к запароленным файлам Excel
 
Доброго времени суток!
Подскажите в какую сторону копать,
не могу найти возможность получить данные с помощью запроса PowerQuery с запароленных файлов, пароль известен.

Кто работает с PowerQuery поделитесь с русскоязычными ссылками по теме.
Мне очень помогают видео на youtube Станислава Салостей.
 
Цитата
boydak написал: поделитесь с русскоязычными ссылками по теме
много примеров на Planeta...
собраны линки под спойлером в # 104
PowerQuery – The power of M (но англ.яз)...

***
вроде google переводчик работает в Chrome-браузере, например... (да и картинки есть)  :)
Unpivot data quickly with Power Query
Unpivot columns (Power Query) - справка office
Combining Data From Multiple Excel Workbooks With Power Query–The Easy/Complete/Power BI Ready Way
Using Power Query to Combine Data from Multiple Excel Files into One Table
Chris Webb's BI Blog
The Ken Puls (Excelguru) Blog
даже Universal JSON-opener for Quandl in PowerBI and Excel/Power Query
и TechNet Forum

***
Microsoft Power Query for Excel Formula Language Specification
Microsoft Power Query Preview For Excel Formula Library Specification,
Изменено: JeyCi - 28.07.2016 09:43:30
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
boydak написал: с помощью запроса PowerQuery с запароленных файлов, пароль известен
смотрите саму строку Подключения в Данные-Подключения... только если там ввести пароль, полагаю... Синтаксис? - тоже пока не знаю...
p.s. а вообще, вроде бы в 2016 office - работать с PowerQuery планировали microsoft и через vba дать возможность... но пока - это поле не паханое... может макрорекодер может что-то показать? у меня Не 2016 - проверить не могу
Изменено: JeyCi - 16.07.2016 11:11:07
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
 В этом и дело.
Подключение невозможно создать к запароленному файлу, PQ ругается и выдаёт ошибку



 
Изменено: boydak - 16.07.2016 22:39:36
 
We currently don't support pulling data into PQ from protected workbooks.
https://social.technet.microsoft.com/Forums/en-US/850b7238-0155-4d4a-ada3-cd30824f1131/get-data-from-protected-workbook-error?forum=powerquery
F1 творит чудеса
 
Благодарю, Максима Зеленский за предоставленный ответ!
 
Я "костыль" нашёл, "скотчем" перевязал, но это требует дополнительных телодвижений
Умные люди — это те, которые работают с людьми умнее их самих. (С)Р.Кийосаки
 
Цитата
Ronin71 написал:
Я "костыль" нашёл
через открывать через new ActiveXObject("Excel.Application") и сохранять без пароля?

тогда нужно не очень-то много телодвижений - импортировать несколько ключей в реестр
Код
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
"1201"=dword:00000000

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3]
"1201"=dword:00000000

[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Internet Explorer\Main]
"Isolation"="PMIL"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main]
"Isolation"="PMIL"

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Isolation"="PMIL"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"Excel.exe"=dword:00001F40
"Microsoft.Mashup.Container.NetFX40.exe"=dword:00001F40
"Microsoft.Mashup.Container.NetFX45.exe"=dword:00001F40
"Microsoft.Mashup.Container.exe"=dword:00001F40

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"Excel.exe"=dword:00001F40
"Microsoft.Mashup.Container.NetFX40.exe"=dword:00001F40
"Microsoft.Mashup.Container.NetFX45.exe"=dword:00001F40
"Microsoft.Mashup.Container.exe"=dword:00001F40

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"Excel.exe"=dword:00001F40
"Microsoft.Mashup.Container.NetFX40.exe"=dword:00001F40
"Microsoft.Mashup.Container.NetFX45.exe"=dword:00001F40
"Microsoft.Mashup.Container.exe"=dword:00001F40

ну и можно предварительно сделать бэкап для отката
Код
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
  set /a n=0
  set sysFolder=%windir%\system32\
  set reg=%sysFolder%reg
  set find=%sysFolder%find
  set time_=%time: =0%
  set datetime=%date%_%time_:~0,-3%
  set filename=%~dp0backup_%datetime::=.%.reg
  set lf=^


  echo Windows Registry Editor Version 5.00>%filename%
  for %%s in (HKEY_LOCAL_MACHINE\SOFTWARE ^
              HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node ^
              HKEY_CURRENT_USER\SOFTWARE) do (
    set main=%%s\Microsoft\Internet Explorer\MAIN
    for /f "tokens=2* delims= " %%a in ( '!reg! query "!main!" /v isolation ^| !find! "REG_" ' ) do (
      echo !lf![!main!]!lf!"Isolation"="%%b">>%filename%
    )
    set hive=!main!\FeatureControl\FEATURE_BROWSER_EMULATION
    set /a n+=1
    echo !lf![!hive!]>>%filename%
    call :myFunct "!hive!" "Excel.exe"
    for %%t in (NetFX40.exe ^
                NetFX45.exe ^
                exe) do (
      call :myFunct "!hive!" "Microsoft.Mashup.Container.%%t"
    )
  )
  for %%z in (HKEY_LOCAL_MACHINE ^
              HKEY_CURRENT_USER) do (
    set /a n+=1
    set hive=%%z\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
    echo !lf![!hive!]>>%filename%
    call :myFunct "!hive!" "1201"  
  )
  explorer /select,"%filename%"
  goto:EOF
  :myFunct
    set er=1
    for /f "delims=" %%a in ('!reg! query "%~1" /v "%~2" ^| !find! "REG_" ') do (
      set tmp=%%a
      set /a er-=1
      for /f "tokens=2* delims=☺" %%a in ("!tmp: 0x=☺!") do (
        set num=0000000%%a
        echo "%~2"=dword:!num:~-8!>>%filename%
      )
    ) > nul
    if !er!==1 echo "%~2"=->>%filename%
  exit /B 0
ENDLOCAL
Изменено: Андрей Лящук - 10.04.2020 15:40:02
Страницы: 1
Наверх