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(其他 ...
随机推荐
- How to convert int [12] to array<int, 12>
code: // array::data #include <iostream> #include <cstring> #include <array> int m ...
- POJ 3617:Best Cow Line(贪心,字典序)
Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30684 Accepted: 8185 De ...
- Makefile在内核编译中的使用
1.一个配置选项选中多个文件 path:drivers/media/i2c/adv748x adv748x-objs := \ adv748x-afe.o \ adv748x-core.o \ adv ...
- nginx-opentracing 简单使用
nginx 的日常的应用开发中占比还是比较高的,opentracing 是一个分布式追踪标准 相应是开源实现也比较多.nginx-opentracing 是一个opentracing nginx 的插 ...
- kettle--window开发环境和linux运行环境的迁移
首先要做的是将kettle在linux下搭建好. 一.搭建linux的kettle环境 1.1解压 (my_python_env)[root@hadoop26 ~]# .zip -d /usr/loc ...
- 【转】每天一个linux命令(20):find命令之exec
原文网址:http://www.cnblogs.com/peida/archive/2012/11/14/2769248.html find是我们很常用的一个Linux命令,但是我们一般查找出来的并不 ...
- vuex、redux、mobx 对比
出处:https://www.w3cplus.com/javascript/talk-about-front-end-state-management.html 其实大部分概念都差不多,只不过VUEX ...
- numpy之meshgrid和where
meshgrid np.meshgrid() np.meshgrid从坐标向量返回坐标矩阵. 这样说可能很抽象.举个例子. x = np.arange(-2,2) y = np.arange(0,3) ...
- tyvj1061Mobile Service
题目:http://www.joyoi.cn/problem/tyvj-1061 dp.枚举三个人现在的位置. 1.重点:当前必有一人正处在查询点上!于是省掉一维. 2.转移方程枚举上一阶段的 j 和 ...
- POJ2127 LICS模板
题目:http://poj.org/problem?id=2127 十分费劲地终于记录好了路径……用一个前驱. 这是 n^2 的LICS方法.其实就是 n ^ 2 log n 把“找之前的d [ j ...