社区
VB基础类
帖子详情
VB 保存Excel文件问题
nigelyoyo
2009-10-06 12:24:47
保存出的Excel数据文件,想在程序中就转化成数值类型
能够在打开Excel文件后,
能够直接利用数据画图,而不需要再次转化数据类型
程序中的数据是存放在二维数组里的,然后再保存在Excel中
请教大侠们,该怎么一步到位~!
...全文
1086
31
打赏
收藏
VB 保存Excel文件问题
保存出的Excel数据文件,想在程序中就转化成数值类型 能够在打开Excel文件后, 能够直接利用数据画图,而不需要再次转化数据类型 程序中的数据是存放在二维数组里的,然后再保存在Excel中 请教大侠们,该怎么一步到位~!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
31 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
getemail
2009-10-09
打赏
举报
回复
错了
是:
.Range(.Worksheets(1).Cells(i, j).Value = a(i,j)
如果要转置就用
.Range(.Worksheets(1).Cells(j, i).Value = a(i,j)
getemail
2009-10-09
打赏
举报
回复
错了
是:
.Range(.Worksheets(1).Cells(i, j), .Worksheets(1).Cells(11, 11)).Value = a(i,j)
如果要转置就用
.Range(.Worksheets(1).Cells(j, i), .Worksheets(1).Cells(11, 11)).Value = a(i,j)
getemail
2009-10-09
打赏
举报
回复
EXCEL里面也是一块面积,所以也是二维的,也要用双重循环
For i = 1 To 10
For j = 1 To 10
a(i, j) = Format(Val(i), "#0.00")
.Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).Value = a(i,j)
Next j
Next i
Flyingdragon168
2009-10-09
打赏
举报
回复
格式化一下單元格,讓其為數值列,可以在Excel錄制一個宏,看看宏代碼就知道如何做了。
nigelyoyo
2009-10-09
打赏
举报
回复
[Quote=引用 26 楼 getemail 的回复:]
这句话就是赋值
另外你用从"引用"里面把Excel引用一下
引用 24 楼 nigelyoyo 的回复:
引用 20 楼 getemail 的回复:
两维数组用双重循环
比如你上面的代码在赋值的时候就可以先格式化:
For i = 1 To 10
For j = 1 To 10
a(i, j) = Format(Val(i), "#0.00")
Next j
Next i
数组格式化之后,该怎么赋值到Excel表啊~!
还是能用 .Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).Value = a
这句话啊?
[/Quote]
那我 For i = 1 To 10
For j = 1 To 10
a(i, j) = Format(Val(i), "#0.00")
Next j
Next i
这么做了之后,怎么把这个二维数组,保存到Excel表中,并且能够达到我的要求啊?Excel单元格没有绿色小三角
getemail
2009-10-09
打赏
举报
回复
这句话就是赋值
另外你用从"引用"里面把Excel引用一下
[Quote=引用 24 楼 nigelyoyo 的回复:]
引用 20 楼 getemail 的回复:
两维数组用双重循环
比如你上面的代码在赋值的时候就可以先格式化:
For i = 1 To 10
For j = 1 To 10
a(i, j) = Format(Val(i), "#0.00")
Next j
Next i
数组格式化之后,该怎么赋值到Excel表啊~!
还是能用 .Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).Value = a
这句话啊?
[/Quote]
nigelyoyo
2009-10-09
打赏
举报
回复
我发现这样做了之后,还是没用么
nigelyoyo
2009-10-09
打赏
举报
回复
[Quote=引用 20 楼 getemail 的回复:]
两维数组用双重循环
比如你上面的代码在赋值的时候就可以先格式化:
For i = 1 To 10
For j = 1 To 10
a(i, j) = Format(Val(i), "#0.00")
Next j
Next i
[/Quote]
数组格式化之后,该怎么赋值到Excel表啊~!
还是能用 .Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).Value = a
这句话啊?
lyserver
2009-10-09
打赏
举报
回复
将.Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).Value = Format(Val(a), "#0.00") 改成两行语句:
.Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).Value = a '给区域赋值
.Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).NumberFormatLocal = "#0.00" '设置区域数字格式
getemail
2009-10-09
打赏
举报
回复
没有,这种方法不慢的
[Quote=引用 21 楼 nigelyoyo 的回复:]
如果是二维数组,且数据量很大的情况下,这样会影响程序效率的,有没有好点的办法啊?
[/Quote]
nigelyoyo
2009-10-09
打赏
举报
回复
如果是二维数组,且数据量很大的情况下,这样会影响程序效率的,有没有好点的办法啊?
getemail
2009-10-09
打赏
举报
回复
两维数组用双重循环
比如你上面的代码在赋值的时候就可以先格式化:
For i = 1 To 10
For j = 1 To 10
a(i, j) = Format(Val(i), "#0.00")
Next j
Next i
getemail
2009-10-09
打赏
举报
回复
用
i=0 to 数组下标
Format(Val(a(i)), "#0.00")
next i
一个一个地格式化之即可
[Quote=引用 18 楼 nigelyoyo 的回复:]
Dim a() As String
Dim i As Integer
Dim j As Integer
ReDim a(10, 10)
For i = 1 To 10
For j = 1 To 10
a(i, j) = i
Next j
Next i
Set VBExcel = CreateObject("Excel.Application")
Set VBExcelWorkbook = VBExcel.Workbooks.Add
With VBExcelWorkbook.Application
.Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).Value = Format(Val(a), "#0.00")
End With
VBExcelWorkbook.SaveAs ("e:\123.xls")
VBExcelWorkbook.Saved = True
VBExcelWorkbook.Close
VBExcel.Quit
Set VBExcel = Nothing
Set VBExcelWorkbook = Nothing
End Sub
这边提示类型不正确,我想问,如果 Format(Val(a), "#0.00") 这个地方是二维数组,该怎么做啊?急~!
[/Quote]
nigelyoyo
2009-10-09
打赏
举报
回复
Dim a() As String
Dim i As Integer
Dim j As Integer
ReDim a(10, 10)
For i = 1 To 10
For j = 1 To 10
a(i, j) = i
Next j
Next i
Set VBExcel = CreateObject("Excel.Application")
Set VBExcelWorkbook = VBExcel.Workbooks.Add
With VBExcelWorkbook.Application
.Range(.Worksheets(1).Cells(1, 1), .Worksheets(1).Cells(11, 11)).Value = Format(Val(a), "#0.00")
End With
VBExcelWorkbook.SaveAs ("e:\123.xls")
VBExcelWorkbook.Saved = True
VBExcelWorkbook.Close
VBExcel.Quit
Set VBExcel = Nothing
Set VBExcelWorkbook = Nothing
End Sub
这边提示类型不正确,我想问,如果 Format(Val(a), "#0.00") 这个地方是二维数组,该怎么做啊?急~!
无·法
2009-10-06
打赏
举报
回复
创建excel对象,可以打开一个模板文件 然后操作。createobject("excel.application"),这个里面提供了n多类,基本手工可以操作的都可以用代码实现,要看类结构就直接在excel中打开vba,随便新建个宏,然后在那个酷似vb的ide工具里面按f2
贝隆
2009-10-06
打赏
举报
回复
哦~~~~~
nigelyoyo
2009-10-06
打赏
举报
回复
[Quote=引用 4 楼 veron_04 的回复:]
直接将数组中的数据绘制图形就可以了吧?
[/Quote]
不是的,先是保存出一系列的数据,然后画图行是用户自己的需求
现在要做的,就是替用户省去他转化数据类型的操作
数据是需要的,不仅仅是有图形~!
贝隆
2009-10-06
打赏
举报
回复
直接将数组中的数据绘制图形就可以了吧?
lyserver
2009-10-06
打赏
举报
回复
Excel的Range对象有一个Value属性,该属性指向一个下标下界为1的二维Variant数组,LZ可依此快速读写Excel的单元格的值.
nigelyoyo
2009-10-06
打赏
举报
回复
不行,要求保存的格式就是xls,帮忙想想办法吧
加载更多回复(11)
vb
中将数据
保存
到
excel
实现数据从MSFlexgrid中
保存
到
excel
中,自动创建
excel
VB
.net
Excel
文件
操作
VB
将数据
保存
为
excel
文件
,实现数据导出功能,进行数据管理
VB
导出
excel
的三种方法
VB
6导出到
Excel
的三种方法全部编译通过,可以放心下载,文字描述较少,基本都是代码。
vb
.net 编程读取
excel
文件
中的数据
使用
vb
.net语言编写的
excel
文件
数据读取和
保存
,可以实现读取数据的显示,希望大家可以多学习交流下。
vb
6对
excel
的操作,创建,写入,读取,
保存
,删除
vb
6对
excel
的操作,创建,写入,读取,
保存
,删除 源码。 每个功能都是一小块。 调试可用,仔细看吧,对操作
excel
的朋友一定有用。 正常操作不会有资源为释放,进程一大堆exe的情况。 个人整理,10分,不求下载多
VB基础类
7,763
社区成员
197,609
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章