以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  一张表按客户订单量输出n张表格  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68858)

--  作者:13651820783
--  发布时间:2015/5/26 14:01:00
--  一张表按客户订单量输出n张表格

有一张表格表头为

序号     产品代码   产品名称    出厂价   供货价    A客户订单量   B客户订单量   C客户订单量   D客户订单量  。。。。。。。  Z客户订单量

 

需要自动保存为

A客户订单表

 序号     产品代码   产品名称    出厂价   供货价    A客户订单量

B客户订单表

序号     产品代码   产品名称    出厂价   供货价    B客户订单量

Z客户订单表

序号     产品代码   产品名称    出厂价   供货价    Z客户订单量

 

 

求代码


--  作者:大红袍
--  发布时间:2015/5/26 14:06:00
--  

 设计思路本来就问题。

 

 只需要一张订单表

 

客户 序号   产品代码   产品名称    出厂价   供货价    Z客户订单量


--  作者:大红袍
--  发布时间:2015/5/26 14:06:00
--  

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=68546&replyID=&skin=1

 


--  作者:Bin
--  发布时间:2015/5/26 14:09:00
--  
首先,你这表设计就不合理.  客户应该作为一个列.  否则后期使用,增加一个客户就要改动表结构?  极度不科学的. 这是电子表格的概念,不要这么用.


改为科学的表结构,实现这个需求,就简单了. 无非是筛选一下.


看示例四


for each s as string in datatables("客户订单").getValues("客户姓名")

  Dim ex as New Exporter
  ex
.SourceTableName = "客户订单" \'指定
  ex
.FilePath = "c:\\Data\\" & s & "订单.xls" \'指定目标文件
  ex.Format = "Excel" \'格式为Excel
  ex.Filter = "[客户姓名] = \'" & s & "\'" \'指定条件
  ex.Export() 
\'开始


next

--  作者:13651820783
--  发布时间:2015/5/26 14:14:00
--  
表格的格式是从系统里面导出来的,没有办法做更改,但是又需要按客户分成多个表格发到对应客户
--  作者:Bin
--  发布时间:2015/5/26 14:24:00
--  
比如你从 第3列开始 到最后倒是客户姓名列

for i as integer = 2 to tables("X").cols.count-1
     Dim ex as New Exporter
  ex.SourceTableName = "订单" \'指定导出表
  ex
.FilePath = "c:\\Data\\" & tables("X").cols(i).name & "订单.xls" \'指定目标文件
  ex.Format = "Excel" \'导出格式为Excel
  ex.Fields = "产品编码
,第二列," & tables("X").cols(i).name \'指定导出字段
  ex.Export() 
\'开始导出
next

--  作者:大红袍
--  发布时间:2015/5/26 14:25:00
--  

 导入订单表,做个小例子发上来吧。


--  作者:Bin
--  发布时间:2015/5/26 14:26:00
--  
看6楼.
--  作者:13651820783
--  发布时间:2015/5/26 15:28:00
--  
for i as integer = 2 to tables("X").cols.count-1
     Dim ex as New Exporter
  ex.SourceTableName = "订单" \'指定导出表
  ex
.FilePath = "c:\\Data\\" & tables("X").cols(i).name & "订单.xls" \'指定目标文件
  ex.Format = "Excel" \'导出格式为Excel
  ex.Fields = "产品编码
,第二列," & tables("X").cols(i).name \'指定导出字段
  ex.Export() 
\'开始导出
next

 

这个代码能实现了,现在有个新问题,我需要导出的内容写进一个表格名字一样的表格里面?怎么样实现?


--  作者:大红袍
--  发布时间:2015/5/26 15:32:00
--  

If FileSys.FileExists("c:\\Data\\订单.xls") Then
    FileSys.DeleteFile("c:\\Data\\订单.xls",2,2)
End If
For i As Integer = 2 To Tables("X").cols.count-1
    Dim ex As New Exporter
    ex.SourceTableName = "订单" \'指定导出表
    ex.NewTableName = Tables("X").cols(i).name
    ex.FilePath = "c:\\Data\\订单.xls" \'指定目标文件
    ex.Format = "Excel" \'导出格式为Excel
    ex.Fields = "产品编码,第二列," & Tables("X").cols(i).name \'指定导出字段
    ex.Export() \'开始导出
Next