zoukankan      html  css  js  c++  java
  • 使用Excel来形成图片

    好久没有写blog了。

    OWC可以生成图片,Excel 也可以生成图片。其中的对象接口都非常接近。
    这里记录一下如何使用Excel来生成图片。

    image

    用Excel生成图片没有什么难度。

    主要是几个概念。

    • 系列-Series
    • 数据区域
    • Chart ,
    • ChartArea
    • Chart Type

    写了一些东西进行了封装,没有什么技术含量在里面(很久都没有技术含量了,汗!)

       1: Dim curve As ICurvePrice = Curvegraphic.getInstance
       2:         Dim serieslist As New seriesCollection
       3:         serieslist.Add(New seriesItem("ser1"))
       4:         serieslist.Add(New seriesItem("ser2"))
       5:         Dim axisX As New AxesX("PriceDate")
       6:  
       7:         curve.DefaultImageConfiguration.AutoExpendWidth = True
       8:         curve.createCurveExcle(AppPath + "\exceltemplate\g5.xls", getTestTable, serieslist, axisX)
       9:         curve.ExportFile()
      10:         Dim imagepath As String = curve.ExportImageFile(Nothing, System.Guid.NewGuid.ToString())
      11:         Dim ima As System.Drawing.Image = System.Drawing.Image.FromFile(imagepath)
      12:         PictureBox1.Image = ima
      13:  
      14:  
      15:         curve.closeworkbook()

    By the way, 这里使用了单件模式。其中有一个获取Excel Application的代码

       1: Private Function getApp() As Excel.Application
       2:         If _app Is Nothing Then
       3:             _app = New Excel.Application
       4:         Else
       5:             Try
       6:                 _app.DisplayAlerts = False
       7:             Catch ex As Exception
       8:                 _app = New Excel.Application
       9:             End Try
      10:         End If
      11:         _app.DisplayAlerts = False
      12:         _app.ScreenUpdating = False
      13:         Return _app
      14:     End Function

    当时我使用的这个代码

       1: Private Function getApp() As Excel.Application
       2:        If _app Is Nothing Then
       3:            _app = New Excel.Application
       4:         
       5:        End If
       6:        _app.DisplayAlerts = False
       7:        _app.ScreenUpdating = False
       8:        Return _app
       9:    End Function

    发现一个问题,如果用户直接在任务管理器中结束Excel进程,而第二次调用的时候,实用getApp的时候,_app并不为空,结果会在_app.DisplayAlerts = false,这行报错。因为这个时候_app指向的对象已经不存在了。

    那么,有没有其他的办法来判定_app指向的对象已经不能使用了呢?

    项目文件

    image

  • 相关阅读:
    webstorm打开项目找不到git
    Redis 下载与安装(Windows版)
    element-UI el-table样式(去边框和滚动条样式)
    MVVM
    HTTP
    TCP/IP
    vue双向绑定
    Vue组件化原理
    JavaScript
    css中可继承与不可继承属性
  • 原文地址:https://www.cnblogs.com/king_astar/p/1092627.html
Copyright © 2011-2022 走看看