Foxtable(狐表)用户栏目专家坐堂 → 在foxtable中直接生成Excel图表


  共有14921人关注过本帖平板打印复制链接

主题:在foxtable中直接生成Excel图表

帅哥哟,离线,有人找我吗?
reachtone
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1991 积分:19363 威望:0 精华:20 注册:2008/9/2 10:09:00
在foxtable中直接生成Excel图表  发帖心情 Post By:2010/7/7 14:49:00 [只看该作者]

    FoxTable目前的图表控件,生成的图表都是以图片格式嵌入Excel的,这就给后期的再处理带来一些不便,比如:标注不能拖拽,手工修改表中的数据后无法自动更新,等等。加上有些用户的习惯问题,可能也不太喜欢这种类型的图表。为满足客户需求,前期我是通过Excel的VBA来生成excel类型的图表的,很繁琐。后来在lxl版主的热心帮助下,现通过引用第三方dll的方式,更好的解决了此问题。

    实现方法如下:

    1、将Microsoft.Office.Interop.Excel.dll拷贝到foxtable所在目录
    2、添加对这个文件的引用
    3、添加命名空间和别名:
         Microsoft.Office.Interop.Excel(MSExcel)
    4、在命令窗口执行以下代码:
   Dim app As New MSExcel.Application()
   app.Visible = True
   Dim book As MSExcel.Workbook = app.Workbooks.Open("D:\Report.xls")      '指定excel文件
   Dim sht As MSExcel.Worksheet = book.Sheets("同期对比")                  '指定工作表
   Dim cht As MSExcel.Chart = app.Charts.Add()                             '添加一个Chart
   cht.ChartType = MSExcel.XlChartType.xlLineMarkers                       '指定Chart类型
   cht.SetSourceData(sht.Range("A3", "D28"), MSExcel.XlRowCol.xlColumns)   '指定数据区
   cht.Location(MSExcel.XlChartLocation.xlLocationAsObject, "同期对比")    '将Chart移动到工作表

 

    本示例用到的dll和excel示例文件在这里:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:调用excel.rar


[本帖被加为精华]
 回到顶部
总数 15 1 2 下一页