以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]把当前表存入已存在的execl文件簿中  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88883)

--  作者:jyh7081
--  发布时间:2016/8/10 22:13:00
--  [求助]把当前表存入已存在的execl文件簿中
求代码:把当前表格存入 d:\\项目\\AA..xlsm 的“数据”工作表;
            注:工作簿 AA..xlsm   和   工作表“数据”  都是已经存在的;

--  作者:大红袍
--  发布时间:2016/8/10 22:33:00
--  

 

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

 


--  作者:jyh7081
--  发布时间:2016/8/10 23:00:00
--  
版主,我参照Copy这一节写的,并修改了路径和名称,试了一下,没写进去。写的时候,execl文件还会打开,能不能不打开文件,直接写入工作簿。帮忙看看错在哪里?

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("d:\\项目\\AA..xlsm")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("数据") \'指定要复制的工作表
With Wb.WorkSheets
   
    Ws.Copy  \'复制到一个新工作簿
End With
Wb.Save
App.Quit
--  作者:大红袍
--  发布时间:2016/8/10 23:03:00
--  

 要一个单元格一个单元格的赋值,才能写入内容啊。


--  作者:jyh7081
--  发布时间:2016/8/10 23:21:00
--  
太晚了,版主先休息吧。
--  作者:jyh7081
--  发布时间:2016/8/11 10:57:00
--  
求版主给写个代码,指点的没看明白。
--  作者:大红袍
--  发布时间:2016/8/11 11:01:00
--  
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
ws.cells(1,1).Value = "123"
ws.cells(1,2).Value = "456"
Wb.Save
App.Quit

--  作者:jyh7081
--  发布时间:2016/8/11 11:47:00
--  
我想将foxtable中的当前表  复制到execl中,类似系统中的Toexecl,代码是:Syscmd.Project.ExportToExcel(),但不知道怎么用;


另外,这个代码导出格式选项为    *.xls   或*.xlsx,没有*.xlsm这种格式。我想直接导出至 指定路径下的已存在的文件中。

--  作者:大红袍
--  发布时间:2016/8/11 12:25:00
--  

参考

 

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

 


--  作者:jyh7081
--  发布时间:2016/8/11 17:27:00
--  
.xlsm”这种带宏的格式写不了,能写的那两种是文件覆盖式的写入,因为原有工作簿的其他工作表都被删除了。看来是系统的问题。
下面是我改的代码,斜体,加黑是去掉不要的:
Dim dt As Table = Tables("表A")
Dim
 Book As New XLS.Book \'定义一个Excel工作簿
Dim
 Sheet As XLS.Sheet = Book.Sheets(0\'引用工作簿的第一个工作表

\'Dim Style As Xls.Style = Book.NewStyle \'新建一个样式
\'Style.BackColor = Color.Red \'样式的背景颜色设为红色

For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题
    Sheet(0, c).Value = dt.Cols(c).Name
Next
For
 r As Integer = 0 To dt.Rows.Count - 1 \'填入数据
    
For c As Integer = 0 To dt.Cols.Count -1
        Sheet(r +1, c).Value = dt.rows(r)(c)
    Next
    \'If
 dt.rows(r)("折扣") >= 0.15 Then \'如果折扣大于等于0.15
        \'Sheet(r + 1,dt.Cols("折扣").Index).Style = Style \'设置折扣单元格的样式
    \'
End 
If
Next

\'打开工作簿

Book.Save("c:\\reports\\test.xls")

\'Dim Proc As New Process 后三行不要,不打开文件写入
\'Proc.File = "c:\\reports\\test.xls"
\'Proc.Start()