以文本方式查看主题 - 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 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() |