标题: [文件操作] 【已解决】批处理怎样把多个txt导入Excel? [打印本页]
作者: wenlishasha 时间: 2014-6-10 21:00 标题: 【已解决】批处理怎样把多个txt导入Excel?
本帖最后由 wenlishasha 于 2014-6-11 19:50 编辑
求助论坛高手,有没有办法批量把多个txt导入到excel中,要求:
1个txt做一行(每个txt可能有多行,每行做excel的一个单元格)
作者: 522235677 时间: 2014-6-10 21:54
- for /f "delims=" %%a in (1.txt) do >>1.csv echo %%a
复制代码
作者: wenlishasha 时间: 2014-6-10 22:15
回复 2# 522235677
谢谢!
但一次只能导入一个txt
而且一个txt导进去了成为了多行
作者: 522235677 时间: 2014-6-11 09:27
回复 3# wenlishasha
你是要一个txt缩成一行然后放在一个单元格里?- @echo off
- for /f "delims=" %%a in ('dir /b *.txt') do (
- (for /f "delims=" %%b in (%%a) do <nul set /p=%%b)>>1.csv
- echo.>>1.csv
- )
- pause
复制代码
作者: DAIC 时间: 2014-6-11 10:36
回复 4# 522235677
文本内容有逗号就会出问题吧
作者: 522235677 时间: 2014-6-11 10:50
回复 5# DAIC
恩,你有啥办法没有
作者: apang 时间: 2014-6-11 11:42
- @set @n=0; /* & echo off
- dir /b *.txt | cscript -nologo -e:jscript "%~0" "%~dp0"
- pause & exit/b & rem */
-
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var oExcel = new ActiveXObject("Excel.Application");
- oExcel.Visible = false
- var oBook = oExcel.WorkBooks.Add(); i=1;
- while (!WScript.StdIn.AtEndOfStream) {
- var f = WScript.StdIn.ReadLine();
- var txt = fso.OpenTextFile(f).ReadAll();
- var ar = txt.replace(/\r?\n/g,"\n").split("\n");
- for (var j=0; j<ar.length; j++) {
- oExcel.Cells(i,j+1) = ar[j];
- }
- i+=1;
- }
- oBook.SaveAs(WScript.Arguments(0) + "Result.xls");
- oExcel.WorkBooks.Close();
- oExcel.Quit();
- fso = null; oExcel = null; oBook = null
复制代码
作者: 522235677 时间: 2014-6-11 20:02
- @echo off
- for /f "delims=" %%a in ('dir /b *.txt') do (
- (for /f "delims=" %%b in (%%~sa) do <nul set /p=%%b,)>>1.csv
- echo.>>1.csv
- )
- pause
复制代码
看了三遍才把你的意思看明白了
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |