我需要一种很好的方法将输入数据从900个电子表格转换为适合上传到关系数据库(XML或平面文件)的格式。电子表格是多页,多行Excel 2007,每个由7种形式组成(因此它绝对不是简单的网格)。将不会有公式数据,只有文本,日期,整数数据。
900个电子表格都采用相同的格式。 我需要一些脚本化的解决方案。
我期待我能用excel宏做这个(我希望一个花哨的可编写脚本的编辑器也可以这样做)或者可能是SSIS。
有人可以告诉我,如果是你的话,你将如何处理这个问题?
任何人都可以通过一些方法提供一些技术信息的链接吗?
我是excel宏的新手,但习惯于编程和脚本语言,sql,其他。
为什么呢?我们使用电子表格表格作为临时解决方案,然后我需要将数据存入数据库。
答案 0 :(得分:1)
您可能希望将数据写入纯文本文件。使用FileSystemObject的CreateTextFile方法。文档:
http://msdn.microsoft.com/en-us/library/aa265018(v=vs.60).aspx
网上有很多关于如何迭代工作表,捕获数据然后使用WriteLine方法的例子。
Sub ExampleTextFile()
Dim fso as Object
Dim oFile as Object
Dim fullExport as String
'Script that will capture data from worksheet belongs here _
' use the fullExport string variable to hold this data, for now we will _
' just create a dummy string for illustration purposes
fullExport = "Example string contents that will be inserted in to my text file!"
Set fso = CreateObject("Scripting.FileSystemObject")
'In the next line, replace "C:\filename.txt" with the specified file you want to create
set oFile = fso.CreateTextFile("C:\filename.txt", Overwrite:=True, unicode:=True)
oFile.WriteLine(fullExport) '<-- inserts the captured string to your new TXT file
oFile.Close
Set fso = Nothing
Set oFile = Nothing
End Sub
如果你有字符编码问题(我最近遇到了UTF16LE与UTF8编码的问题,你需要使用ADODB.Stream对象,但这需要一个不同的方法来编写文件。