在VBA中怎么把一个excel工作表或工作傅保存到其它表中?

意思就是把一个excel工作表所有单元格的数据和格式(包括单元格颜色、字体等一切属性)保存到其它表格中。我知道网上有一种方法就是把excel文件转换成二进制保存到数据库中,哪位高手能不能给出比较详细的代码?我希望要的最好是把工作表单个单个的保存起来,比如如果一个工作傅中有三个工作表(sheet1、sheet2、sheet3)那么就把它们分别保存到数据库中的一个三条记录中.我试用过勤哲excel服务器2008,发现它就是这样做的,它把三个工作表分别转换成二进制保存在SQLServer数据库中一个叫tabSheet的表(好像是这个表,记不清了,反正那个表名是以sheet结尾的)中,大家都可以试用一下那个看看,希望能告诉我它具体是怎么把excel工作表转换成二进制的,希望能给出具体的代码...
还有,我现在也在寻找一种不用二进制的方法来保存工作表.我希望能通过普通的表格就把excel工作表保存起来,我的思路是把工作表中所有单元格的各作属性保存起来,我知道一个单元格的属性有很多很多,要把每个单元格的每一种属性都保存那是不现实的,我现在的一种思路是只把用户修改过的单元格属性保存,那些空白单元或默认单元格就不必要保存了.请问有哪位高手能提供一种具体的可行的思路,最好有具体代码...还有,也希望提能供一种可以同时返回单元格所有非默认属性的高效率的自定义函数
保存数据的值我做到了,现在我还想保存excel中模板的格式,比如单元格的颜色,字体大小等等....说白了,我的目地就是想通过一些表格来保存一些excel的模板....大家都知道,一个excel文件能保存为.xlt格式的模板文件,以便以后直接使用,但我想如果万一那个.xlt文件丢了怎么办?所以我想通过一些数据库表或者excel表来保存那些模板里面的数据和格式,也就是说如果那个xlt文件丢了后我们还可以数据库中那些事先保存好的数据重新转换为excel模板.这觉得这样做还有一个好处就是让一个表同时保存很多很多模板,比如果一个外贸业务管理系统里有很多很多如"订单","采购单"之类的excel模板的话,保存起来就要搞很多的.xlt文件,我在想能不能通过一个文件就可以通过读取其中的数据动态的生成各种模板

我的思路是:利用VBA文件操作打开Excel文件,然后读取你文件模板中特定位置的数据,保存到当前表中,然后可以当前表一行存储一个Excel文件。
比如:
源表中A1、B2、B5、C3是数据内容。
可以依此保存到当前文件中的A1~D1。
然后A2~D2保存另一个同样格式文件的数据。
当然,如果你想完全用二进制保存应该也可以,无非自己做一些文件处理和还原的算法,比如用FileSystem处理。没有太多时间弄,你自己看看MSDN,研究一下吧。

简单写了一点测试代码,供参考:

Private Sub CommandButton1_Click()

Dim fileToOpen As Variant
Dim xl As Variant
Dim DestinationSheet As Worksheet
Dim SourceSheet As Worksheet
Dim Count As Integer

Set DestinationSheet = ActiveWorkbook.Sheets(1)

fileToOpen = Application.GetOpenFilename("Microsoft Excel Files(*.xls),*.xls", , , , True)
Set xl = CreateObject("Excel.Sheet")
xl.Application.Workbooks.Open fileToOpen, ReadOnly:=True

Count = 1
For Each SourceSheet In Application.Worksheets
If SourceSheet.Cells(1, 1) <> "" Then
Set ChildDoc = ActiveWorkbook
MsgBox SourceSheet.Cells(1, 1)
DestinationSheet.Cells(Count, 1).Value = SourceSheet.Cells(1, 1).Value
Count = Count + 1
ChildDoc.Close SaveChanges:=False
End If
Next

End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-18
把你的表格发给我
我来给你 做

把一个excel工作表或工作傅保存到其它表中
这个“其他表”是不是excel?
第2个回答  2010-01-18
复制 粘贴 好了

(我没试过)
相似回答