以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]导出的数据可否追加到某个excel文件里?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5923)

--  作者:xycn
--  发布时间:2010/2/1 20:08:00
--  [求助]导出的数据可否追加到某个excel文件里?

由foxtable中的表导出的数据可否追加到已经存在的excel文件里(不是覆盖)或者access里的某个表?

如果要达到这种效果有什么办法实现。

如果要将用sql查询出的数据追加到已经存在的excel里要怎做。

[此贴子已经被作者于2010-2-1 20:12:04编辑过]

--  作者:e-png
--  发布时间:2010/2/1 23:04:00
--  
看了帮助文件就知道了,access可以的,excel比较困难吧。
--  作者:czy
--  发布时间:2010/2/1 23:31:00
--  
自己写代码是可以解决的。
--  作者:xycn
--  发布时间:2010/2/1 23:34:00
--  
请问要怎么写代码,给一些思路和提示。谢谢!
--  作者:czy
--  发布时间:2010/2/1 23:40:00
--  
这是帮助中的一段示例代码:

Dim Book As New XLS.Book \'定义一个Excel工作簿
Dim
Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表
For
i As Integer = 0 To 9 \'向工作表的单元格中设置值
    Sheet(i,
0).Value = (i + 1) * 10
    Sheet(i,
1).Value = (i + 1) * 100
    Sheet(i,
2).Value = (i + 1) * 1000
Next

Book.Save(
"c:\\reports\\test.xls") \'保存工作簿
Dim
Proc As New Process \'打开工作簿
Proc.File =
"c:\\reports\\test.xls"
Proc.Start()


假设Excel中已经存在了上面代码执行后的数据,那么可以参考下面的代码来追加数据。

Dim Book As New XLS.Book("c:\\reports\\test.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim r As Integer = Sheet.Rows.Count \'获取Excel中已经存在的总行
For i As Integer = 0 To 9 \'向工作表的单元格中设置值
    Sheet(i+r, 0).Value = (i + 1) * 10
    Sheet(i+r, 1).Value = (i + 1) * 100
    Sheet(i+r, 2).Value = (i + 1) * 1000
Next
Book.Save("c:\\reports\\test.xls") \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = "c:\\reports\\test.xls"
Proc.Start()

--  作者:e-png
--  发布时间:2010/2/1 23:52:00
--  

楼主要看懂foxtalbe自带的关于外部数据源的例子,数据从sql 经狐表 到 access,应分别建立两个外部数据源,从sql库里fill过来临时数据表1,从Access库里fill过来一个空表2(和sql的表结构一致的),再将表1数据导到表2中,save一下就可以了。


--  作者:xycn
--  发布时间:2010/2/1 23:54:00
--  
我自己试试改一下代码,谢谢啦!
--  作者:xycn
--  发布时间:2010/2/1 23:57:00
--  
以下是引用e-png在2010-2-1 23:52:00的发言:

楼主要看懂foxtalbe自带的关于外部数据源的例子,数据从sql 经狐表 到 access,应分别建立两个外部数据源,从sql库里fill过来临时数据表1,从Access库里fill过来一个空表2(和sql的表结构一致的),再将表1数据导到表2中,save一下就可以了。

导出的数据有foxtable内部表和用sql语句从access里查询过来的数据,导出追加到已存在的excel文件 czy 已经给我示例代码了,现在还有的疑问是如何导出追加到access里已经存在的表里。


--  作者:yangming
--  发布时间:2010/2/2 11:30:00
--  
以下是引用xycn在2010-2-1 23:57:00的发言:

导出的数据有foxtable内部表和用sql语句从access里查询过来的数据,导出追加到已存在的excel文件 czy 已经给我示例代码了,现在还有的疑问是如何导出追加到access里已经存在的表里。

http://www.datasoft.com.cn/fox/dispbbs.asp?boardid=2&Id=5895

Insert Into 语句

用于向表中添加行。
本语句不能用于内部数据表,只能向外部数据表添加行。

[此贴子已经被作者于2010-2-2 12:18:24编辑过]

--  作者:mr725
--  发布时间:2010/2/2 11:48:00
--  
yang版: 以后贴上连接 http://www.datasoft.com.cn/fox/dispbbs.asp?boardid=2&Id=5895
 时,多加一个空格,就可以直接点击打开连接了 如:http://www.datasoft.com.cn/fox/dispbbs.asp?boardid=2&Id=5895