Foxtable(狐表)用户栏目专家坐堂 → 导出自定义当前表的EXCEL并打开


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

主题:导出自定义当前表的EXCEL并打开

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
导出自定义当前表的EXCEL并打开  发帖心情 Post By:2014/11/13 10:58:00 [只看该作者]

自己参考编写保存代码如下:
Dim flg As New SaveExcelFlags
flg.RowNumber = True
    flg.CellStyle = False
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Tables("订单").SaveExcel(dlg.FileName, "订单",flg)  '保存文件
End If
请教专家以下问题:
1. 需要导出并保存当前表的EXCEL文件,因为需要自定义保存格式而不是默认格式,因此不能用currenttable.Save()。。。,
2. 需要保存后再打开文件
谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/13 11:00:00 [只看该作者]

 设计好模板以后,导出数据

 

http://www.foxtable.com/help/topics/1145.htm

 


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2014/11/13 20:40:00 [只看该作者]

每次导出都设计模板太麻烦。我用得较多的是通过菜单中的导出EXCEL工具直接把当前表导出,所以自建窗口时想写这样的代码。
我已经琢磨出导出当前表的代码,但现在有个问题:
代码已写明:flg.CellStyle = True,导出正常表格数据时保留了单元格格式,但导出汇总或交叉统计表时却不行,请教为什么?谢谢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/13 20:43:00 [只看该作者]

 只能导出数据部分,小计、统计部分,是不会被导出的。

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2014/11/13 21:45:00 [只看该作者]

能够导出,如下:
狐表中数据:

导出后数据:

图片点击可在新窗口打开查看此主题相关图片如下:汇总表.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导出汇总表.xls



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/13 21:53:00 [只看该作者]

 没办法,导出的时候,都是原始数据的。

 

 需要对时段、百分号的数据特殊处理才行的。

 

 你可以编写代码导出。 http://www.foxtable.com/help/topics/1144.htm

 


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2014/11/13 22:18:00 [只看该作者]

导出正常表格数据时保留了单元格格式,见附件。时段导出EXCEL表后,
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导出带格式的excel.xls

以“常规”格式呈现而不是秒。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/13 22:20:00 [只看该作者]

 做个例子发上来吧,说明你想做什么。

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2014/11/13 23:02:00 [只看该作者]

如项目:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导出excel.foxdb


通过菜单中的高速导出EXCEL工具导出“八月时间”表数据-选择“保留格式设置”则可以导出显示分钟:秒格式时段的EXCEL文件,如附件“八月时间-导出EXCEL带格式”:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:八月时间-导出excel带格式.xls

而进行统计后,同样方法导出的机型汇总表EXCEL文件中时段却只能显示秒,如附件“导出机型汇总表”:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导出机型汇总表.xls

为何有区别?为何汇总表不能导出分钟:秒格式时段?谢谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/14 9:16:00 [只看该作者]

 测试了一下,这个无可避免,必须用代码处理。

 

Dim t As Table = Tables("交叉统计")
Dim fl As String = ProjectPath & "交叉统计.xls"
Dim name As String = "交叉统计"
t.SaveExcel(fl, name)

Dim book As new XLS.Book(fl)
Dim sheet As XLS.Sheet = book.Sheets(name)
For j As Integer = 0 To t.Cols.Count - 1
    If t.Cols(j).DataCol.ExtendType = ExtendTypeEnum.TimeSpan Then
        For i As Integer = t.HeaderRows To sheet.Rows.Count - 1
            Dim s As Double = val(sheet(i, j).Text)
            sheet(i, j).Value = format(s \ 3600, "00") & ":" & format((s Mod 3600) \ 60, "00")
        Next
    End If
Next

book.save(fl)

 

 

 


 回到顶部