Private Sub btnExprot_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExprot.Click
If Not T Is Nothing Then
If T.ThreadState = ThreadState.Running Then Exit Sub
End If
T = New Thread(AddressOf Export)
T.Start()
End Sub Private Sub Export()
Dim xApp = New Excel.Application
Dim xBook As Excel.Workbook
Dim xSheet As New Excel.Worksheet
Dim charts As Object
Me.Cursor = Cursors.WaitCursor
Try
xBook = xApp.Workbooks.Add(Application.StartupPath & "\Templets\Monthly Short Ship Analysis Report.xlt")
'one plant site one sheet
For i As Integer = To ds.Tables.Count -
xSheet = xBook.Worksheets(i)
xSheet.Name = ds.Tables(i).TableName
xSheet.Activate()
xSheet.Application.WindowState = Excel.XlWindowState.xlMaximized
xSheet.Cells.NumberFormatLocal = "@" '數值型轉字符串,防止出現6.54655E+11
xApp.DisplayAlerts = False 'data
'------------------------------------------------------------------------------------
Dim data(ds.Tables(i).Rows.Count + , ) As Object
Dim j As Integer
Dim qty As Integer =
For j = To ds.Tables(i).Rows.Count -
xSheet.Range("A3").Resize(, ).Insert(Shift:=Excel.XlDirection.xlDown)
data(j, ) = ds.Tables(i).Rows(j).Item("reason")
data(j, ) = ds.Tables(i).Rows(j).Item("qty")
data(j, ) = ds.Tables(i).Rows(j).Item("percentage")
qty += ds.Tables(i).Rows(j).Item("qty")
Next
data(j, ) = "Total:"
data(j, ) = qty
data(j, ) = IIf(qty > , "100.00%", "0.00%")
xSheet.Range("A3").Resize(, ).Delete()
xSheet.Range("A2").Resize(ds.Tables(i).Rows.Count + , ).Value = data
'------------------------------------------------------------------------------------ 'charts
'------------------------------------------------------------------------------------
Dim height As Integer = xSheet.Range("A1").Resize( + ds.Tables(i).Rows.Count, ).Height
charts = xSheet.ChartObjects.Add(, height, , ).Chart
charts.SetSourceData(Source:=xSheet.Range("A2").Resize(ds.Tables(i).Rows.Count, ))
With charts
.HasTitle = True
.ChartTitle.Characters.Text = ds.Tables(i).TableName + "廠按原因縮數情況表"
With .ChartTitle.Font
.Name = "新細明體"
.Size =
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = Excel.XlUnderlineStyle.xlUnderlineStyleNone
.ColorIndex =
.Background = Excel.Constants.xlAutomatic
End With
.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary).HasTitle = False
.Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary).HasTitle = False
.HasLegend = False
'show the data value
.ApplyDataLabels(AutoText:=True, LegendKey:=False, HasLeaderLines:=False, ShowSeriesName:=False, ShowCategoryName:=False, ShowValue:=True, ShowPercentage:=False, ShowBubbleSize:=False)
'X Coordinate
.Axes(Excel.XlAxisType.xlCategory).TickLabels.AutoScaleFont = True
With .Axes(Excel.XlAxisType.xlCategory).TickLabels.Font
.Name = "Arial"
.FontStyle = "標準"
.Size =
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = Excel.XlUnderlineStyle.xlUnderlineStyleNone
.ColorIndex = Excel.Constants.xlAutomatic
.Background = Excel.Constants.xlAutomatic
End With
End With
'------------------------------------------------------------------------------------
Next xApp.Range("A1").Select()
xApp.Visible = True
xApp.Caption = "Bogart Report"
xApp.ActiveWindow.Caption = "Monthly Short Ship Analysis Report"
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
xBook = Nothing
xApp = Nothing
Me.Cursor = Cursors.Default
End Try
End Sub

vb 导出excel生成图表统计的更多相关文章

  1. [转] C#操作EXCEL,生成图表的全面应用

    gailzhao 原文 关于C#操作EXCEL,生成图表的全面应用 近来我在开发一个运用C#生成EXCEL文档的程序,其中要根据数据生成相应的图表,该图表对颜色和格式都有严格的要求,在百度和谷歌中搜索 ...

  2. js插件---在线类似excel生成图表插件解决方案

    js插件---在线类似excel生成图表插件解决方案 一.总结 一句话总结:google比百度好用多了,多用google google js editable table jquery 双向绑定 这种 ...

  3. EasyOffice-.NetCore一行代码导入导出Excel,生成Word

    简介 Excel和Word操作在开发过程中经常需要使用,这类工作不涉及到核心业务,但又往往不可缺少.以往的开发方式在业务代码中直接引入NPOI.Aspose或者其他第三方库,工作繁琐,耗时多,扩展性差 ...

  4. NPOI导出Excel生成多个sheet

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  5. poi 导出excel 生成等比例图片

    poi 导出的带等比例图片方法 /** * * <p>Description: 将一物一码列表导出到excel</p> * @param response * @param l ...

  6. 生成统计数据并导出Excel

    需求:看如下表格的统计需求 生产调度中心部门需要从IT技术部门得到这些统计数据 步骤: (1)获取所有的子公司列表 (2)遍历所有的子公司,获取每个子公司的库存信息 (3)遍历所有的库存信息,并对库存 ...

  7. NPOI根据模板生成chart图表导出Excel

    导入NPOI的全部dll. 因为NPOI的API里面还没有对于Chart图表方面的操作,所以只能根据提示做好的图表作为模板,修改数据源的方法来改变图表. 注意:NPOI要用2003版以下的excel才 ...

  8. BootStrap母版页布局.子页面布局.BootstrapTable.模态框.警告框.html导出tabl生成Excel.HTML生成柱图.饼图.时间控件中文版

    如上就是很多后台管理系统的母版页布局. 左边一列模板.上面一列系统标识. 空白处充填子页面 以ASP.NET MVC为基础 引入bootstrap.js.bootstrap.css body: < ...

  9. 导出Excel之Epplus使用教程3(图表设置)

    导出Excel之Epplus使用教程1(基本介绍) 导出Excel之Epplus使用教程2(样式设置) 导出Excel之Epplus使用教程3(图表设置) 导出Excel之Epplus使用教程4(其他 ...

随机推荐

  1. 清除的通用样式 css

    /*公共样式--开始*/ html, body, div, ul, li, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, form, input, textar ...

  2. TJU Problem 1100 Pi

    注: 1. 对于double计算,一定要小心,必要时把与double计算相关的所有都变成double型. 2. for (int i = 0; i < N; i++)         //N 不 ...

  3. 转:如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题

    如何解决VC "应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe"问题   引用链接 http://blog.csdn.net/pizi0475/artic ...

  4. 如何在Struts2的拦截器中调用Spring容器

    第一种: 通常用ApplicationContext来调用Spring配置文件中的一些Bean,所以首先创建Spring上下文容器. ApplicationContext ac = (Applicat ...

  5. 大家一起做训练 第一场 E Number With The Given Amount Of Divisors

    题目来源:CodeForce #27 E 题目意思和题目标题一样,给一个n,求约数的个数恰好为n个的最小的数.保证答案在1018内. Orz,这题训练的时候没写出来. 这道题目分析一下,1018的不大 ...

  6. Math类的学习 java 类库 API 文档学习

  7. window.open()与window.showModalDialog

    弹出窗口两种方式:    1.window.showModalDialog:      var feature = "dialogWidth:615px;dialogHeight:505px ...

  8. 调用飞信HTTP接口给自己发短信

    注: 1.下文中所有HTTP请求所指的Host都是f.10086.cn 2.目前只有中国移动用户可以使用 1.打开登录页面:GET /huc/user/space/login.do?m=submit& ...

  9. hadoop 知识点

    HDFS 命令 命令 说明 fsck 检查文件的完整性 start-balancer.sh 重新平衡HDFS hdfs dfs -copyFromLocal 从本地磁盘复制文件到HDFS hadoop ...

  10. CDN、浏览器缓存

    CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起.那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火 ...