Excel表格中有多个sheet表,如何用c语言或者vb语言依次打开这些表然后读取数据呢?

我是要将很Excel表中的数据导入到txt文本文件当中,但是量相当的大,所以手工是不可能的了,但是我没有找到关于用c语言或者vb语言进行打开Excel中各个sheet的例子或者讲解,希望各位大侠各显神通!!!c语言或者vb语言均可以,其他的就暂时不用了,因为小弟不会。谢谢!!!

'以下是vb6.0 操作Excel代码示例,为你加了详细注释,望能帮到你。
'首先菜单,工程/引用,勾选 Microsoft Excel 11.0 object library
'打开:
Dim Xls As Excel.Application ''定义EXCEL类(需要工程/引用)
Dim Xlsbook As Excel.Workbook '定义工作簿类
Dim Xlssheet As Excel.Worksheet '定义工作表类
Set Xls = CreateObject("Excel.Application") '创建EXCEL应用类
Xls.Visible = true '设置EXCEL可见
Set Xlsbook = Xls.Workbooks.open(”D:\表.xls“) '打开EXCEL工作簿,路径注意加双引号
Set Xlssheet = Xlsbook.Worksheets(1) '打开第1个工作表(第2个改成2,以此类推)
Xlssheet.Activate '激活工作表
'读取:
Text1.Text = Xlssheet.Cells(1, 1) '读取单元格1行1列赋值给Text1(运用循环可快速读取)
'关闭:
Xls.Quit '关闭EXCEL
Set Xlssheet = Nothing '释放资源
Set Xlsbook = Nothing '释放资源
Set Xls = Nothing '释放资源追问

谢谢您的回答,那我有一个疑问,需要您解答一下,在那个激活工作表下一行,可以用line input #1,s(事先定义为字符串)输入吗?可以用do while not eof(1)吗?

追答

不能,不过你可以定义一个二维数组,把数据先读取到一个2维数组,然后进行赋值操作。

追问

那比如说我不知道每一行有多少数据,怎么控制它读到结尾呢?
还有就是我也不知道一共有多少行,怎么判断读完了没有呢?

追答

'可以这样:
'读取:
i=0
Open "C:\xx.txt" For Input As #1
do while Xlssheet.Cells(i,1) ""
i=i+1
j=0
do while Xlssheet.Cells(i, j) ""
j=j+1
Line Input #1, Xlssheet.Cells(i, j)
loop
loop
Close #1

追问

不是应该output吗?怎么会是input呢?我菜鸟,请见谅我的浅薄哈!

追答

'不好意思啊,我大意了,应该是output,打开C:\xx.txt写入数据:
'读取
i=0
Open "C:\xx.txt" For output As #1‘打开C:\xx.txt ,写入数据
do while Xlssheet.Cells(i+1,1) "“
'当下一行的第1列不为空,就继续读下一行
i=i+1
j=0
do while Xlssheet.Cells(i,j+1) ""
'当这一行的下一列不为空,就继续读这一行的下一列
j=j+1
write #1,Xlssheet.Cells(i, j)
loop
loop
Close #1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-05
例子或者讲解,希望各位大侠各显
相似回答