以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  导出数据如何把表作为一个sheet插入现有xls文件而不覆盖文件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117013)

--  作者:jacksnfeng
--  发布时间:2018/4/4 10:36:00
--  导出数据如何把表作为一个sheet插入现有xls文件而不覆盖文件
提问:关于saveExcel,或者Exporter,总是要新建或覆盖xls文件,能不能只是把表作为一个sheet插入到现有的xls文件里面呢?
就是保留xls里原有的表

--  作者:有点甜
--  发布时间:2018/4/4 12:10:00
--  

saveExcel的时候就是覆盖或者插入的。只要你sheet的名字不同,即可

 

http://www.foxtable.com/webhelp/scr/0559.htm

 


--  作者:jacksnfeng
--  发布时间:2018/4/4 16:00:00
--  
我一直以为它会替换掉原文件,因为它的提示是“某某文件已存在,要替换它吗?”
这样很容易让人误会是替换掉原文件啊!而不知道会保留原来的sheet

--  作者:有点甜
--  发布时间:2018/4/4 16:08:00
--  
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
dlg.OverwritePrompt = False
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
     Tables("订单").SaveExcel(dlg.FileName, "订单")  \'保存文件
End If

--  作者:蓝才文百
--  发布时间:2019/2/26 14:26:00
--  
现在也碰到类似问题,提示覆盖已有excel文件,可是打开后,看到的是多个Sheets

SaveExcel 如果我要彻彻底底覆盖已有excel文件,要如何处理?

--  作者:蓝才文百
--  发布时间:2019/2/26 14:30:00
--  
想到办法了(直接删除先):
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
\'Dim flg As New SaveExcelFlags
\'flg.MergedRanges = False
If FileSys.FileExists(dlg.FileName) Then
filesys.DeleteFile(dlg.FileName,2,2)
End If
CurrentTable.SaveExcel(dlg.FileName,DataTables(CurrentTable.Name).Caption) \'保存文件 ,flg
Dim proc As new Process
proc.File = dlg.FileName
proc.Start()
End If


--  作者:有点甜
--  发布时间:2019/2/26 15:10:00
--  

 

是的。必须先删除。