怎样把Excel表格输出成TXT格式(注意:要求带表格线)。输出后表线上下对位整齐。

如果能用其它软件实现也可以。
表格各列均为文本。最终是要得到一个带表格线的TXT文件。
我看Excel是没戏了,就去找了下其它的软件。其实在DOS时代,所有的文本处理软件都是支持文本表格的。可那些古董软件不能在WIN下用(也找不到)。看了一下WPS,它也去掉了这个功能,几乎和WORD一模一样了。后来,找了一下DOS时代最火的表格处理软件CCED。发现它竟然有一个WIN版--CCED2000.
这个2M多的小软件,效果相当完美。只需要在Excel里调整好列宽(最佳列宽)复制一下,粘贴到cced2000里,然后保存成TXT格式的文件就完成了。
那些伴随WINDOWS长大的人看了这个软件必然会觉得非常的古怪。觉得它的界面丑丑的,功能怪怪的。但还是我依稀记得的模样,这真是让我有一种时光倒流之感。
本题的最终解决方案是:用CCED2000(http://www.duote.com/soft/34400.html

第1个回答  2012-02-10
新建一个表单,全选原表复制,全选新表单后,用选择性粘贴,先粘贴格式,再用单元格属性功能,将新表单全部单元格设置为“文本”格式,再重新全选原表复制,重新全选新表单,用选择性粘贴,粘贴数值。追问

这样不行吧,怎样生成TXT格式的文件呢?

追答

假设源表格数据在表1区域A1:N1000,可增加10个辅助表单,按以下步骤输入公式:●表2!A1=WIDECHAR(表1!A1),全角值,表2内复制公式到A1:N1000;●表3!A1=LEN(表2!A1),原值转全角后字符长度,表3内复制公式到A1:N1000;●表4!A1=MAX(表3!A$1:A$1000),最大列宽,表4内复制公式到A1:N1;●表4!A2=IF(COLUMN()>表4!$A$3+1,"","│"),列间线,表4内复制公式到A1:O2;●表4!A3=有效列数(不超过14);●表4!A4=有效行数(不超过1000);●表5!A1=MAX(0,表4!A$1-表3!A1),补空数量,表5内复制公式到A1:N1000;●表6!A1=IF(COLUMN()>表4!$A$3,"",表2!A1&REPT(" ",表5!A1)),补空后单元格值,表6内复制公式到A1:N1000;●表7!A1=IF(ROW()>表4!$A$4+1,"",IF(COLUMN()>表4!$A$3,"",REPT("─",表4!A$1))),行间线,表7内复制公式到A1:N1001;●表8!A1=IF(ROW()>表4!$A$4+1,"",IF(COLUMN()>表4!$A$3+1,"",IF(ROW()=1,IF(COLUMN()=1,"┌",IF(COLUMN()=表4!$A$3+1,"┐","┬")),IF(ROW()=表!$A$4+1,IF(COLUMN()=1,"└",IF(COLUMN()=表4!$A$3+1,"┘","┴")),IF(COLUMN()=1,"├",IF(COLUMN()=表4!$A$3+1,"┤","┼")))))),角线,表8内复制公式到A1:O1001;●表9!A1=CONCATENATE(表8!A1,表7!A1,表8!B1,表7!B1,表8!C1,表7!C1,表8!D1,表7!D1,表8!E1,表7!E1,表8!F1,表7!F1,表8!G1,表7!G1,表8!H1,表7!H1,表8!I1,表7!I1,表8!J1,表7!J1,表8!K1,表7!K1,表8!L1,表7!L1,表8!M1,表7!M1,表8!N1,表7!N1,表8!O1),文本表格,表9内复制公式到A1:A1001;●表10!A1=IF(ROW()>表4!$A$4,"",CONCATENATE(表4!A$2,表6!A1,表4!B$2,表6!B1,表4!C$2,表6!C1,表4!D$2,表6!D1,表4!E$2,表6!E1,表4!F$2,表6!F1,表4!G$2,表6!G1,表4!H$2,表6!H1,表4!I$2,表6!I1,表4!J$2,表6!J1,表4!K$2,表6!K1,表4!L$2,表6!L1,表4!M$2,表6!M1,表4!N$2,表6!N1,表4!O$2)),带列线的文本值,表10内复制公式到A1:A1000;●表11!A1=IF(ROW()/2=INT(ROW()/2),OFFSET(表10!$A$1,(ROW()-2)/2,COLUMN()-1),OFFSET(表9!$A$1,(ROW()-1)/2,COLUMN()-1)),输出值,表11内复制公式到A1:A2001;●最后,将表11内A1:A2001复制并粘贴到文本文件即可。

追问

多谢你费心帮助我解决这个问题。你提供的方法最终应能解决这个问题。你运用Excel函数的能力也给我留下了深刻的印象。但这个方法仍然要自己画上表线,而不是直接转换表线。
提出这个问题的本意是:直接使用软件的功能。因为要处理一批资料,大大小小内容各异的表格。处理起来还是不够实用。
我最后找到了解决方法(用CCED2000)。虽然你的方法并未解决问题。但你的答案最接近,你也是耗费时间最多的一位。你将得到100分。

追答

这个方法不用自己画文本表线,只要把公式一次性复制到10个辅助表单里,之后的工作就是把要转换的数据复制到表1,输入有效行数和列数,再把表11的结果复制到文本文件就可以了。
如果源数据多,行数列数有变化,又会编写宏,可以用整页表单复制粘贴语句(或者用外部查询),将数据源依次粘贴到表1,自动计算有效行和列,最后用行输出命令直接生成文本文件。

本回答被提问者采纳
第2个回答  2012-02-10
你先将EXCEL中内容按常规方面另存为TXT格式,每个单元格之间用TAB分隔开的,你到TXT中替换一下,用TAB+|替换TAB就行了。追问

表格相当大,手工做肯定是不行的。我是要自动导出的。您这个表线都得手画,不符合要求(主要是对位不准)。还是要谢谢你的热心回答。

第3个回答  2012-02-10
直接另存为,在对话框内选保存类型为txt格式追问

要带表格线且对位整齐。

追答

抱歉,我做不到了,因文本里的表格是通过制表符实现的,如果一定这样做,非常麻烦,只能通过VBA编程实现,估计现在没人这么做。最早,刚接触BASIC时,做表就这样,可太不实用了

第4个回答  2012-03-02
CCED,以前非常好的表格软件,DOS时代通常是字处理用金山WPS,表格用CCED, 这不过当时人们印象中打字只是打文字,数据处理还是手工计算多,CCED会的人没有WPS人多。
第5个回答  2012-02-10
文件-另存为-文本文件(或者UNICODE文本)追问

看清楚问题再答,要求带表格线。

相似回答