您好,可以帮我写一个批处理吗,想把EXCEL里面的内容生成TXT文件?

您好,可以帮我写一个批处理吗,想把EXCEL里面的内容生成TXT文件,EXCEL表格A是TXT文件名字,B是TXT的内容(中文,而且有空格,就是一片文章,有各种符号) C是TXT 保存的地址

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行

/*&cls&echo off&cd /d "%~dp0"
rem 读取excel表格文档的内容并创建/生成txt文本文件
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "file=表格.xlsx"
if not exist "%file%" (echo;"%file%" 未找到&pause&exit)
cscript -nologo -e:jscript "%~f0" "%file%"
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
var fso=new ActiveXObject('Scripting.FileSystemObject');
var xlsfile=fso.GetFile(WSH.Arguments(0));

var excel=null;
try{
    excel=new ActiveXObject('Excel.Application');
}catch(e){WSH.StdErr.WriteLine('MS Excel is not installed');WSH.Quit();}
excel.DisplayAlerts=false;
excel.Visible=true;

var wbook=excel.Workbooks.Open(xlsfile.Path);
var wsheet=wbook.Worksheets(1);

var a_value=trim(wsheet.Range('A1').value);
var b_value=trim(wsheet.Range('B1').value);
var c_value=trim(wsheet.Range('C1').value);

var newfolder=c_value.replace(/\//g,'\\').replace(/\\$/,'');
var txtname=a_value+'.txt';
var newfile=newfolder+'\\'+txtname;
mkdirs(newfolder);
WSH.StdErr.WriteLine(txtname+' --> '+newfolder);
var f=fso.CreateTextFile(newfile,2,true);
f.Write(b_value);
f.Close();

wbook.Close();
excel.Quit();
WSH.Quit();

function trim(z){
    var zz=z;
    if(z == undefined || z == null){zz='';}
    return zz.toString().replace(/^\s*|\s*$/g,'');
}

function mkdirs(z){
var arr=z.split('\\');
var tp='';
for(var i=0;i<arr.length;i++){
tp=tp+arr[i]+'\\';
if(!fso.FolderExists(tp)){fso.CreateFolder(tp);}
}
}

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-09-02
可以,这个难度应该不大。请先发文件看看大概内容是什么样。
第2个回答  2021-09-02
是写宏代码吧。可以的。
第3个回答  2021-09-02
可以没有问题