yantan 发表于 2011-08-04 21:27

isql导出可以在EXCEL正常打开并按字段列保存?

本帖最后由 yantan 于 2011-08-04 21:29 编辑

数据库是Sybase ASE 12.5,用ISQL做的批处理如下:
isql -Spvg_import -Uoper -Poperator -okj_ppwk.txt <kj_ppwk.sql

kj_ppwk.sql的查询语句如下:
select BillNo, DecDate, VoyageNo, EntryId from tmsCusResKJHead where charindex("提供纸面", Notes)>0 order by DecDate
go

导出的kj_ppwk.txt中的数据内容格式都是下面的样子,共4个字段。因为有自动换行的情况,无法用EXCEL的TXT格式打开并转换为XLS格式文件。
BillNo                           DecDate                        
       VoyageNo                         EntryId                        
-------------------------------- --------------------------------
       -------------------------------- --------------------------------
1Z80739A0499809684               201107111459                  
       40648750435                      224420111804645152               
1ZW533670493773868               201107131645                  
       40647076816                      224420111804657356               
H8927477807                      201107142059                  
       40650428501                      224420110801718629               
1ZWF12706792195138               201107150643                  
       04352527193                      224420111804663365               
1Z2334556749158309               201107150646                  
       04352909986                      224420111804663373               
H8676618121                      201107181030                  
       04352910023                      224420111804673717               
H8097698212                      201107181331                  
       40648753390                      224420111804675266               
1Z032A700493709735               201107181331                  
       40647079395                      224420111804675262               
1ZE4024V0495055948               201107181331                  
       40647079395                      224420111804675262               
1Z0944386696772358               201107181335                  
       40651974823                      224420111804675269               
1Z8X77380492543327               201107181518                  
       40648750343                      224420111804676133               
1Z8074520447517946               201107181523                  
       40647081042                      224420111804676132               
1Z559V400450942826               201107181523                  
       40647081042                      22442011180467613

我试过如果改为仅导出2个字段的内容,就可以在EXCEL中打开并以正常的字段列的形式保存为XLS。

请问如何利用ISQL这个方式,导出可以用EXCEL直接打开并转换格式的TXT文件。多谢了。

Eisen 发表于 2011-08-05 10:16

先把你那个sql file写成
set nocount on
go
select BillNo, DecDate, VoyageNo, EntryId from tmsCusResKJHead where charindex("提供纸面", Notes)>0 order by DecDate
go

然后用isql -Spvg_import -Uoper -Poperator -b -w2000 -ikj_ppwk.sql
-okj_ppwk.txt 来执行生成txt文件
然后你把这个txt的东西整个ctrl-c 再到随便什么excel里面去ctrl-v一下就行了。

andkylee 发表于 2011-08-05 11:37

使用bcp -c 导出文件就能用excel打开。
你的版本是12.5,需要你根据条件做一个视图。如果ASE15的话,可以使用基于条件的bcp。

Eisen 发表于 2011-08-05 13:48

如果office是office2007的话,可以用"数据"功能直接将里面的table从数据库直插excel
页: [1]
查看完整版本: isql导出可以在EXCEL正常打开并按字段列保存?