Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]操作excel同时生成多个图表

1楼
xmj0331 发表于:2024/5/30 15:21:00
想要每个表生成一个图表,遍历各个表的时候失败,只有第一个成功怎么办
Dim a As Integer = CInt(e.Form.Controls("TextBox1").text)
Dim app As New MSExcel.Application()
app.Visible = True
Dim book As MSExcel.Workbook = app.Workbooks.Open("D:\临沂分段.xls")      '指定excel文件
For j As Integer = a To 1 Step -1
    Dim ws As MSExcel.Worksheet = book.Sheets("临沂第" & j & "段")      '指定工作表
    'Dim ws As MSExcel.Worksheet = book.Sheets(j)
    If ws.ChartObjects.count > 0 Then
        ws.ChartObjects.Delete '删除工作表上已经存在的图表
    End If
    Dim Rg1 As MSExcel.Range = ws.Range("C3:C120")
    Dim Rg2 As MSExcel.Range = ws.Range("D1:E120")
    Dim Co As MSExcel.ChartObject = ws.ChartObjects.Add(100,30,400,250)   '创建图表对象
    Dim Cht As MSExcel.Chart = Co.Chart
    Dim s As MSExcel.Series
    With Cht
        .ChartType = MSExcel.XlChartType.xlLine
        .SetSourceData(Rg2)
        s = Cht.SeriesCollection(1)
        s.XValues = Rg1
    End With
    With Cht.Axes(MSExcel.XlAxisType.xlCategory)   '获取X轴
        .HasTitle = True
        .AxisTitle.Text = "手部距离"   '添加标题
        .HasMajorGridlines = True  '显示主要网格线
        '.HasMinorGridlines = True  '显示次要网格线
        .MinimumScale = 100
        .MaximumScale = 500
        .MinorUnit = 1
        .MajorUnit = 10
        .CrossesAt = 400
        .ReversePlotOrder = False
    End With
    With Cht.Axes(MSExcel.XlAxisType.xlValue) '获取Y轴
        .HasTitle = True
        .AxisTitle.Text = "埋深(m)"   '添加标题
        .HasMajorGridlines = True'显示只要网格线
        .HasMinorGridlines = True'显示次要网格线
    End With
Next j


链接:https://pan.baidu.com/s/1hfs1MZt3cIKS6MBGfM4V6Q 
提取码:nkxh

[此贴子已经被作者于2024/5/30 17:38:03编辑过]
2楼
xmj0331 发表于:2024/5/30 15:23:00
另外想加一个值为常数的序列要怎么操作,必须先在表中插入列吗?
3楼
xmj0331 发表于:2024/5/30 15:32:00
这个语句就一个图也不能生成是怎么回事呢?Dim ws As MSExcel.Worksheet = book.Sheets(j)


未指定的错误 (异常来自 HRESULT:0x80004005 (E_FAIL))
4楼
有点蓝 发表于:2024/5/30 15:36:00
去掉下面代码

    If ws.ChartObjects.count > 0 Then
        ws.ChartObjects.Delete '删除工作表上已经存在的图表
    End If

必须先在表中插入列
5楼
xmj0331 发表于:2024/5/30 16:05:00
删除那一段还是只有一个生成图表了啊
6楼
有点蓝 发表于:2024/5/30 16:11:00
请上传实例测试
7楼
xmj0331 发表于:2024/5/30 17:04:00
附件请查收
8楼
有点蓝 发表于:2024/5/30 17:08:00
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78,单个附件不能大于2M
9楼
xmj0331 发表于:2024/5/30 17:40:00
实例已上传
链接:https://pan.baidu.com/s/19vIzu9lu7S0PudibN9oxpA 
提取码:1333
10楼
有点蓝 发表于:2024/5/30 20:42:00
项目文件提示项目格式不符,无法打开
共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.