Foxtable(狐表)用户栏目专家坐堂 → WPS AND OFFICE


  共有2406人关注过本帖树形打印复制链接

主题:WPS AND OFFICE

帅哥哟,离线,有人找我吗?
huhu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
WPS AND OFFICE  发帖心情 Post By:2016/8/25 15:20:00 [只看该作者]

导出按钮代码。如果是本机装的是wps,导出的xls打开有数据且正确。另外一个同事装的是office,同样导出的是xls,有这个文件,但是打开数据是空的,这是怎么回事?
Dim r As Row = Tables("库存管理界面_table7").Current

DataTables("扫描配货明细").LoadFilter = "收货单号 = '" & r("收货单号") & "'  and (状态 = '生产结束扫描完成' or 状态 = '生成收货单')"
DataTables("扫描配货明细").Load

Dim ex As New Exporter
ex.SourceTableName = "扫描配货明细" '指定导出表

ex.FilePath = "D:\SN\" & r("收货单号") & "_" & r("工单号行号") & ".xls"

ex.Format = "Excel" '导出格式为Excel
ex.Fields = "SN" '指定导出字段
ex.Export() '开始导出

Dim n As New MailSender
n.Host = "mail.bdcom.com.cn"
n.Account = "factory@bdcom.com.cn"
n.Password = "Encrypt228HqJ4Mg"
n.From = "factory@bdcom.com.cn"
n.AddReceiver("liujiyong@bdcom.com.cn")
n.Title = "库存管理系统SN" & "工单号-行号:" & r("工单号行号") & "对应收货单号:" & r("收货单号") & "的全部序列号如附件,请打卡通"
n.AddAttachments(ex.FilePath)

n.SendAsync()
MessageBox.show("保存路径:" & ex.FilePath,"导出成功",MessageBoxButtons.OK,MessageBoxIcon.Information)

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/8/25 16:20:00 [只看该作者]

还有一个问题,假如已经存在了这个xls。就会提示下面的信息。能不让它弹出或者提示准确的xls的名称已经存在。然后直接覆盖。
.NET Framework 版本:2.0.50727.7905
Foxtable 版本:2016.7.29.1
错误所在事件:
详细错误信息:
表 '扫描配货明细' 已存在。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/25 16:53:00 [只看该作者]

 不要用Export导出,直接用saveExcel比较好

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/8/25 16:58:00 [只看该作者]

saveExcel应该导出是这个表吧,我只想导出这个表的SN列,其它列不需要。能指定save列吗?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/25 17:10:00 [只看该作者]

以下是引用huhu在2016/8/25 16:58:00的发言:
saveExcel应该导出是这个表吧,我只想导出这个表的SN列,其它列不需要。能指定save列吗?

 

你把不需要的列隐藏,不就行了?

 

直接用代码导出,也可以 http://www.foxtable.com/webhelp/scr/1148.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2016/8/25 17:43:00 [只看该作者]

怎么导出了全部列?不是指定了SN列么。
Dim dt As Table = Tables("扫描配货明细")
Dim nms() As String = {"SN"} '要导出的列名
Dim caps() As String = {"SN"} '对应的列标题
Dim szs() As Integer = {150} '对应的列宽
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表

For c As Integer = 0 To nms.length -1
    Sheet(0, c).Value = caps(c) '指定列标题
    Sheet.Cols(c).Width = szs(c) '指定列宽
Next
For r1 As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To nms.length -1
        Sheet(r1 +1, c).Value = dt.rows(r1)(nms(c))
    Next
Next
Tables("扫描配货明细").SaveExcel("D:\SN\" & r("收货单号") & "_" & r("工单号行号") & ".xls","序列号明细")

 回到顶部
帅哥哟,离线,有人找我吗?
nblwar
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2016/8/25 20:09:00 [只看该作者]

想起我刚开始时候傻傻的样子图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
nblwar
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2016/8/25 20:13:00 [只看该作者]

最后一句代码跟上面的是分开用的,你放到一起去了能行吗

 回到顶部
帅哥哟,离线,有人找我吗?
nblwar
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2016/8/25 20:25:00 [只看该作者]

Dim t As Table = Tables("扫描配货明细")
Dim filepath As String = "D:\SN\" & r("收货单号") & "_" & r("工单号行号") & ".xls"

'报表编程'
Dim Book As New XLS.Book '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet(0, 0).Value = "SN"  '指定列标题
Sheet.Cols(0).Width = 150 '指定列宽

For r As Integer = 0 To t.Rows.Count - 1 '填入数据
    Sheet(r + 1, 0).Value = t.rows(r)("SN")
Next
Book.Save(filepath)

'启动
Dim Proc As New Process 
Proc.File = filepath
Proc.Start()

 回到顶部