以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SaveExcel  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83511)

--  作者:huhu
--  发布时间:2016/4/11 12:31:00
--  [求助]SaveExcel
Dim dlg As New SaveFileDialog 
dlg.Filter= "Excel文件|*.xls" 
dlg.FileName = "全部序列号明细"

If dlg.ShowDialog = DialogResult.Ok Then 
    Tables("扫描配货明细").SaveExcel(dlg.FileName, "SN")  
    MessageBox.show("保存路径:" & dlg.filename,"保存成功!",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

SaveExcel仅仅能保存了当前表的数据?并没有把所有的数据都保存。是这样吗?

--  作者:大红袍
--  发布时间:2016/4/11 14:26:00
--  

SaveExcel是保存你看到的数据。

 

如果要保存所有的数据,你就要重新load全部数据,或者把filter设置成空。


--  作者:huhu
--  发布时间:2016/4/11 17:15:00
--  
不想重新load数据。但是只filter,不load,可以吗?仍然是当前的数据,而非全部数据。
Tables("扫描配货明细").Filter = ""
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
dlg.FileName = "全部序列号明细"

If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Tables("扫描配货明细").SaveExcel(dlg.FileName, "SN")  \'保存文件
    MessageBox.show("保存路径:" & dlg.filename,"保存成功!",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


--  作者:大红袍
--  发布时间:2016/4/11 17:31:00
--  

 Filter只是控制筛选,LoadFilter才是控制加载的。

 

 如果只设置Filter,那么,导出的就是全部已经加载的数据;

 

 如果要导出全部数据,你就必须把全部数据Load进来的。


--  作者:huhu
--  发布时间:2016/4/11 17:36:00
--  
那有什么办法,导出的是全部的数据,但显示的仅仅是这次的2行数据。不希望看到在界面看到全部的数据,excel可以看到全部的数据就可以了。
--  作者:大红袍
--  发布时间:2016/4/11 17:40:00
--  
Dim qdt As new QueryBuilder
qdt.TableName = "临时"
\'qdt.ConnectionName = "abc"
qdt.SelectString = "select * fr om {表A}"
qdt.Build
Tables("临时").SaveExcel("d:\\test.xls", "表A")
DataTables.Unload("临时")

--  作者:huhu
--  发布时间:2016/4/12 10:53:00
--  
生产结束扫描完成时间格式为:DateLongTime  如:2016-04-12 10:43:56
为什么导出到excel变为了DateTime。如2016-04-12 

--  作者:大红袍
--  发布时间:2016/4/12 12:04:00
--  

Dim qdt As new QueryBuilder
qdt.TableName = "临时"
\'qdt.ConnectionName = "abc"
qdt.SelectString = "select * fr om {表A}"
qdt.Build
DataTables("临时").DataCols("日期").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)
Tables("临时").SaveExcel("d:\\test.xls", "表A")
DataTables.Unload("临时") 

[此贴子已经被作者于2016/4/12 12:04:00编辑过]

--  作者:huhu
--  发布时间:2016/4/12 14:04:00
--  
保存完怎么当前窗口自动关掉了呢。应该保持当前窗口吧。


--  作者:huhu
--  发布时间:2016/4/12 14:06:00
--  
qdt.SelectString = "select * fr om {扫描配货明细} group by 生产结束扫描完成时间  "
加上排序,就报错,提示不存在临时表。