回 帖 发 新 帖 刷新版面

主题:dbf输出到文本文件,如何分两栏

将一表中的所有记录输出到文本文件中,如何能够分两栏实现?如下:
字段1  字段2  字段3  字段4  |  字段1  字段2  字段3  字段4
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  
XXX    XXX    XXX    XXX    |  

先把第一栏填写满后再填写第二栏,记录号是左列完了再右列!

回复列表 (共6个回复)

沙发

导出到Word可实现,文本文件......好象不容易。

板凳

说明一下:用报表设计器制作出来的报表,打印预览都没问题,可是,当指向输出到文本文件时,就发生了错位情况!
                   10091011   谭福   男    幺滩镇中 是    A
                   20091012  胡林莉  女   西天中心校是    A
                   30091023   陈元   男    幺滩镇中 是    A
                   40091030  肖利萍  女    石永镇中 是    A
                                     女    坛同镇中 是    A
                   50091031  李春慧                       A
                   60091033  周健伟  男    九龙镇中 否
                   70091051  游红梅  女    石永镇中 是    A
                   80091051  甘文杰  男    八耳镇中 否    A


如上:李春慧姓名本应上移一行才能和她的性别等对齐,可现在到下列了;这种在预览的报表
和直接打印的报表中就不存在;在每页中都存在这情况!

3 楼

[quote]导出到Word可实现,文本文件......好象不容易。[/quote]

先生成在Word中,然后用Word手工来分栏??这不好吧!

4 楼

1 给原表添加同样的列的字段
2 将数据分成两栏
3 再导出到文本文件

5 楼

[img]http://bbs.pfan.cn/image/qianming.gif[/img]
将一表中的所有记录输出到文本文件中,如何能够分两栏实现?如下:
字段1  字段2  字段3  字段4  |  字段1  字段2  字段3  字段4
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  XXX     XXX   XX      XX
XXX    XXX    XXX    XXX    |  
XXX    XXX    XXX    XXX    |  

先把第一栏填写满后再填写第二栏,记录号是左列完了再右列!
[img]http://bbs.pfan.cn/image/qianming.gif[/img]


假設第一欄填10行
select 表
go top
fld_num = afield(tbl_ary)
for i = 1 to fld_num
 c2_str = tbl_ary(i, 1)
 strtofile(c2_str, "txt全路徑", 1)
endfor
c2_str = '|'
strtofile(c2_str, "txt全路徑", 1)
for i = 1 to fld_num
 c2_str = tbl_ary(i, 1)
 strtofile(c2_str, "txt全路徑", 1)
endfor
select 表
go top

for i = 1 to 10
   goto i
   for j = 1 to fld_num
     c2_str = &tbl_ary(j, 1)
     strtofile(c2_str, "txt全路徑", 1)
   endfor
   c2_str = '|'
   strtofile(c2_str, "txt全路徑", 1)
   goto i + 10
   for j = 1 to fld_num
     c2_str = &tbl_ary(j, 1)
     strtofile(c2_str, "txt全路徑", 1)
   endfor
endfor


[img]http://bbs.pfan.cn/image/qianming.gif[/img]
看看可以不?
[img]http://bbs.pfan.cn/image/qianming.gif[/img]

6 楼

後面這段可能要改改:
for i = 1 to 10
   goto i
   for j = 1 to fld_num
     c2_str = &tbl_ary(j, 1)
     strtofile(c2_str, "txt全路徑", 1)
   endfor
   c2_str = '|'
   strtofile(c2_str, "txt全路徑", 1)
   if i + 10 <= reccount()
     goto i + 10
     for j = 1 to fld_num
       c2_str = &tbl_ary(j, 1)
       strtofile(c2_str, "txt全路徑", 1)
     endfor
   endif
endfor


我来回复

您尚未登录,请登录后再回复。点此登录或注册