vb 导出excel生成图表统计
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生成图表统计的更多相关文章
- [转] C#操作EXCEL,生成图表的全面应用
gailzhao 原文 关于C#操作EXCEL,生成图表的全面应用 近来我在开发一个运用C#生成EXCEL文档的程序,其中要根据数据生成相应的图表,该图表对颜色和格式都有严格的要求,在百度和谷歌中搜索 ...
- js插件---在线类似excel生成图表插件解决方案
js插件---在线类似excel生成图表插件解决方案 一.总结 一句话总结:google比百度好用多了,多用google google js editable table jquery 双向绑定 这种 ...
- EasyOffice-.NetCore一行代码导入导出Excel,生成Word
简介 Excel和Word操作在开发过程中经常需要使用,这类工作不涉及到核心业务,但又往往不可缺少.以往的开发方式在业务代码中直接引入NPOI.Aspose或者其他第三方库,工作繁琐,耗时多,扩展性差 ...
- NPOI导出Excel生成多个sheet
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- poi 导出excel 生成等比例图片
poi 导出的带等比例图片方法 /** * * <p>Description: 将一物一码列表导出到excel</p> * @param response * @param l ...
- 生成统计数据并导出Excel
需求:看如下表格的统计需求 生产调度中心部门需要从IT技术部门得到这些统计数据 步骤: (1)获取所有的子公司列表 (2)遍历所有的子公司,获取每个子公司的库存信息 (3)遍历所有的库存信息,并对库存 ...
- NPOI根据模板生成chart图表导出Excel
导入NPOI的全部dll. 因为NPOI的API里面还没有对于Chart图表方面的操作,所以只能根据提示做好的图表作为模板,修改数据源的方法来改变图表. 注意:NPOI要用2003版以下的excel才 ...
- BootStrap母版页布局.子页面布局.BootstrapTable.模态框.警告框.html导出tabl生成Excel.HTML生成柱图.饼图.时间控件中文版
如上就是很多后台管理系统的母版页布局. 左边一列模板.上面一列系统标识. 空白处充填子页面 以ASP.NET MVC为基础 引入bootstrap.js.bootstrap.css body: < ...
- 导出Excel之Epplus使用教程3(图表设置)
导出Excel之Epplus使用教程1(基本介绍) 导出Excel之Epplus使用教程2(样式设置) 导出Excel之Epplus使用教程3(图表设置) 导出Excel之Epplus使用教程4(其他 ...
随机推荐
- for-auto使用
前言 c++11新增了一个工具,让编译器能够根据初始值的类型推断变量的类型: c++11还新增了一种循环,基于范围的for循环,可以对数组或者容器类的每一个元素执行相同的操作:同时,可以使用& ...
- 20155216 2016-2017-2 《Java程序设计》第五周学习总结
20155216 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 使用try,catch,finally处理异常 JVM会尝试执行try区块中的程序代码,如果 ...
- CUDA npp运动检测模块性能测试
测试环境: Cpu: Intel(R)Core(TM)i7-4790 CPU @3.6GHZ GPU: NVIDIA GeForce GTX960 *2 操作系统: Wi ...
- day37 mysql数据库学习
3.什么是数据库 用来存储数据的仓库 数据是以文件的形式保存 海峰补充内容 ↓ 4 数据库服务器.数据管理系统.数据库.表与记录的关系(重点理解!!!) 记录:1 刘海龙 324245234 2 ...
- 转 MetaWeblog API 编写
如今,许多人都熟悉个人和公司或业界主办的博客.后者明显成为了传统公司和行业网站的下一代新兴产物.博客的内容涉及从简洁的特制产品公告和公共关系到实用且深刻的主题探索,这些主题可能对公司的产品或行业的未来 ...
- Oracle plsql乱码
方法1.执行 set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 方法2.执行--regedit--查找--NLS_LANG--设置值 SIMPLIFIED ...
- java调用.net的webservice
目录(?)[-] 一参考文献 二概述 三实例 注意点 一.参考文献 1. http://www.cnblogs.com/xuqifa100/archive/2007/12/13/993926.ht ...
- 监控Linux的Steps&Q&A
spolight的下载地址:https://www.quest.com/spotlight-on-windows/ 问题1.sar -u 之后,只有一条记录.这种情况执行一下:sudo sar -d; ...
- JZ2440 裸机驱动 第13章 LCD控制器(2)
13.2 TFT LCD显示实例 13.2.1 程序设计 本实例的目的是从串口输出一个菜单,从中选择各种方法进行测试,比如画线. 画圆.显示单色.使用调色板等. 13.2.2代码详解 ...
- openVPN之Luci及tap模式
一. 1.复制luci-sc-openvpn源码到/home/tingpan/openwrt/barrier_breaker/feeds/luci/applications文件夹下. 二. /home ...