Board logo

标题: [文本处理] xlsx用批处理进行字符串替换并保存后碰到系统无法再打开excel的情况,如何解决? [打印本页]

作者: qspringleaf    时间: 2021-10-5 21:06     标题: xlsx用批处理进行字符串替换并保存后碰到系统无法再打开excel的情况,如何解决?

请教各位前辈:
有没有碰到过类似的问题,当用bat文件对位于D:\Program Files (x86)的excel 文件  addesss update_2021.xlsx进行字符串替换并保存后碰到系统无法再打开excel的情况,请问该如何解决:
比方说excel里边有很多列,列名字分别为以下:
woodlands drive 76        woodlands drive 66        woodlands drive 89        woodlands drive 93        woodlands drive 22        woodlands drive 25
bat文件批处理的是将  woodlands drive 全部替换为 sembawang street。


bat文件内容如下:
  1. rem 对excel文档 addesss update_2021.xlsx 指定字符串自动替换更名:
  2. @echo off
  3. setlocal enabledelayedexpansion
  4. cd /d "D:\Program Files (x86)"
  5. (for /f "tokens=1* delims=:" %%i in ('findstr /n ".*" "addesss update_2021.xlsx"') do (
  6.     set a=%%j
  7.     if "%%j"=="" (
  8.         echo;
  9.     ) else (
  10.         echo;!a:woodlands drive=sembawang street!
  11.     )
  12. ))>"addesss update_2021.tmp"
  13. move /y "addesss update_2021.tmp" "addesss update_2021.xlsx"
复制代码

作者: qixiaobin0715    时间: 2021-10-5 21:26

批处理是不能直接处理xls和xlsx文件的。office格式的文件信息量过大。
作者: Batcher    时间: 2021-10-6 21:45

回复 1# qspringleaf


    xlsx不是纯文本文件,建议试试PowerShell或VBS进行处理




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2