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. QT-This application failed to start because it could not find or load the Qt platform plugin "windows"

    前言 将qt的vs工程生成Release版本,不过出现错误,现将可以解决该问题的方法记录下来. 项目环境 系统:win7_64 软件:VS2013.QT5.6.2.qt-vs-addin-1.2.5 ...

  2. Maven项目中的配置

    1 在配置好Maven项目后,新建一个Maven Project.如图 点击next,会进入如下界面: 选择webapp,不选择默认的quickstart,之后会进入以下界面 填好Group ID 和 ...

  3. CodeForces - 285E: Positions in Permutations(DP+组合数+容斥)

    Permutation p is an ordered set of integers p1,  p2,  ...,  pn, consisting of n distinct positive in ...

  4. BZOJ4710: [Jsoi2011]分特产【组合数学+容斥】

    Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望 ...

  5. hdu1355

    题意:有一片矩形花生田在路的一侧,田上的整数坐标位置有0个或多个花生,现规定从路上走到田地最边上的某个格点位置.从田边上走回路上.从一个格点移动到另一个格点.采摘格点上的花生,这四种动作都要花费一单位 ...

  6. REST与RPC的简单对比

    一.REST:Representational State Transfer,表述性状态转移 REST是一种架构风格,指的是一组架构约束条件和原则.满足这些约束条件和原则的应用程序或设计就是RESTf ...

  7. 关于发现宇宙微波背景(CMB)辐射的一则趣闻

           请看下图:           上图是发现宇宙存在微波背景(CMB)的样子有点怪异的射电望远镜(口径5米,即Holmdel horn antenna天线).该天线具有较好的抗干扰的性能, ...

  8. 用户态监控网络接口up、down事件

    网上搜索(https://blog.csdn.net/qq123386926/article/details/50695725)可以直接使用netlink现成的接口实现: #include <s ...

  9. C语言面试题3

    编程题 1.读文件file1.txt的内容(例如): 123456 输出到file2.txt: 563412 #include <stdio.h> #include <stdlib. ...

  10. MySQL中UNSIGNED和ZEROFILL的介绍

    UNSIGNED: 将数字类型无符号化,这与C和C++这些程序语言的unsigned含义相同. INT的类型范围-2 147 483 648~2 147 483 647 INT UNSIGNED范围0 ...