xlwings 可以去github仓库提取xlam文件, 然后打包个bat进行全自动安装
分2步, 第一部分是安装python, 文件名1.Iinstall-Python.bat
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
:: BatchGotAdmin
:-------------------------------------
:: 设置UTF8显示
chcp 65001 > nul
:: 切换到脚本所在的路径,可以使用 %~dp0 获取批处理文件所在的目录
cd /d "%~dp0"
:: 检查 Python 是否已安装
python --version > nul 2>&1
if %errorlevel% neq 0 (
:: 静默安装 Python,并等待安装完成
start /wait "" ".\python-3.12.3-amd64.exe" /passive PrependPath=1 Include_test=1 InstallAllUsers=1 InstallLauncherAllUsers=1 AssociateFiles=1 TargetDir="D:\Python311" DefaultAllUsersTargetDir="D:\Python311"
echo Python 安装完成..
)
echo 安装第三方库...
start "" ".\2.Install-Lib.bat"
pause
exit
第二部分是安装第三方库,文件名2.Install-Lib.bat
@echo off
:: 设置UTF8显示
chcp 65001 > nul
:: 切换到脚本所在的路径,可以使用 %~dp0 获取批处理文件所在的目录
cd /d "%~dp0"
:: 设置pip全局代{过}{滤}理源
D:\Python311\Scripts\pip.exe config set global.index-url https://mirrors.aliyun.com/pypi/simple/
:: 升级pip
D:\Python311\python.exe -m pip install --upgrade pip
:: 安装pandas
@rem D:\Python311\Scripts\pip.exe install pandas==2.0.3
:: 安装xlwings
@REM D:\Python311\Scripts\pip.exe install xlwings==0.30.10
:: 安装指定库
D:\Python311\Scripts\pip.exe install -r requirements.txt
:: 获取pip当前所有库
@REM D:\Python311\python.exe -m pip freeze > requirements.txt
:: 升级pip当前所有库
@REM D:\Python311\python.exe -m pip install --upgrade --no-cache-dir -r requirements.txt
:check_processes
:: 检测Excel是否启动
tasklist | findstr /i "excel.exe" > nul
if %errorlevel% equ 0 (
echo 检测到 Excel 已开启, 请保存关闭后回车继续运行...
pause > nul
goto check_processes
)
:: 检测WPS是否启动
tasklist | findstr /i "wps.exe" > nul
if %errorlevel% equ 0 (
echo 检测到 WPS 已开启, 请保存关闭后回车继续运行...
pause > nul
goto check_processes
)
:: 安装xlwings
D:\Python311\Scripts\xlwings.exe addin install
if %errorlevel% neq 0 (
echo xlwings 添加出现错误...
D:\Python311\Scripts\xlwings.exe addin --glob install
)
:: 强制复制xlam
set "sourceFile=xlwings.xlam"
set "destinationFolder=%USERPROFILE%\AppData\Roaming\Microsoft\Excel\XLSTART"
@REM 创建目标文件夹
mkdir "%destinationFolder%" 2>nul
@REM 复制文件到目标文件夹
copy /Y "%sourceFile%" "%destinationFolder%\"
echo 已复制 "%sourceFile%" "%destinationFolder%\" 中
pause
exit
另外, 由于新版本wps不知道什么改了什么, xlwings直接使用会导致一个错误,得降级, 论坛内有个官方无广告版本, 那个可以正常使用
xlwings.xlam 的获取链接为https://github.com/xlwings/xlwings/blob/main/xlwings/addin/xlwings.xlam
脚本按照截图的结构补充文件就行
|