Protected Sub cmdOrderExport_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdOrderExport.Click
Try
Me.BuildCondition()
Dim ht As Hashtable = APICurrent.API.Dynamic.Trade.searchGoodsStockInfo(objCondition)
'总件数

Dim allCount As Integer = CType(ht.Item(MCO010.CONST_DATACOUNT), Integer)
Dim ds As DataTable = CType(ht.Item(MCO010.CONST_DATA), DataTable)

' Excel类

Dim orderListPrinter As New GoodsStockListPrint(Me.GetExcelTemplatePath() & "GoodsStockList.xlt")
orderListPrinter.DataSource = New Object() {ds}
Me.ExportExcel(orderListPrinter)
Catch ex As Exception
LogManager.Debug(ex.ToString)
Me.Controls.Add(New LiteralControl("<SCRIPT>alert('" + MCO003.getNameByResID(MCO005.IMSG011) + "');</SCRIPT>"))
End Try
End Sub

Public Class GoodsStockListPrint
Inherits ExcelComm

'列数
ReadOnly COL_CNT As Integer = 18

'列的索引
Private Enum Enum_Col As Integer
ICOL_StockID = 0 '编号
ICOL_GoodSID = 1 '编号
ICOL_GoodsName = 2 '名称
ICOL_StoreID = 3 '店铺编号
ICOL_StoreName = 4 '店铺
ICOL_CompanyID = 5 '编号
ICOL_CompanyName = 6 '经销商

ICOL_SpecNo1 = 7 '规格一编号
ICOL_SpecName1 = 8 '规格一
ICOL_SpecID1 = 9 '规格一明细编号
ICOL_SpecDtlName1 = 10 '规格明细一

ICOL_SpecNo2 = 11 '规格二编号
ICOL_SpecName2 = 12 '规格二
ICOL_SpecID2 = 13 '规格二明细编号
ICOL_SpecDtlName2 = 14 '规格明细二

ICOL_InitalStockNum = 15 '初始库存
ICOL_RemainingStockNum = 16 '剩余库存

ICOL_GoodsPrice = 17 '商品定价

End Enum

''' <summary>
''' 构造函数

''' </summary>
''' <param name="strTempPath"></param>
''' <remarks></remarks>
Public Sub New(ByVal strTempPath As String)
MyBase.New(strTempPath)
End Sub

''' <summary>
''' 内容作成
''' </summary>
''' <param name="aryData"></param>
''' <remarks></remarks>
Protected Overrides Sub FillExportData(ByVal ParamArray aryData() As Object)
ExcelApp.AlertBeforeOverwriting = False
ExcelApp.AskToUpdateLinks = False
ExcelApp.DisplayAlerts = False
' 填充Excel
Me.ExportDetail(aryData)
End Sub

Private Sub ExportDetail(ByVal aryData() As Object)

Dim objData As DataTable = aryData(0)
'定义数组
Dim strTemp(objData.Rows.Count, COL_CNT) As Object
Dim startRow As Integer = 4
For i As Integer = 0 To objData.Rows.Count - 1
strTemp(i, Enum_Col.ICOL_StockID) = MCO001.DBNULL2Str(objData.Rows(i).Item("StockID")).Trim
strTemp(i, Enum_Col.ICOL_GoodSID) = MCO001.DBNULL2Str(objData.Rows(i).Item("GoodsID")).Trim
strTemp(i, Enum_Col.ICOL_GoodsName) = MCO001.DBNULL2Str(objData.Rows(i).Item("GoodsName")).Trim
strTemp(i, Enum_Col.ICOL_StoreID) = MCO001.DBNULL2Str(objData.Rows(i).Item("StoreID")).Trim
strTemp(i, Enum_Col.ICOL_StoreName) = MCO001.DBNULL2Str(objData.Rows(i).Item("StoreName")).Trim
strTemp(i, Enum_Col.ICOL_CompanyID) = MCO001.DBNULL2Str(objData.Rows(i).Item("CompanyID")).Trim
strTemp(i, Enum_Col.ICOL_CompanyName) = MCO001.DBNULL2Str(objData.Rows(i).Item("CompanyName")).Trim

strTemp(i, Enum_Col.ICOL_SpecNo1) = MCO001.DBNULL2Str(objData.Rows(i).Item("SpecNo1")).Trim
strTemp(i, Enum_Col.ICOL_SpecName1) = MCO001.DBNULL2Str(objData.Rows(i).Item("SpecName1")).Trim
strTemp(i, Enum_Col.ICOL_SpecID1) = MCO001.DBNULL2Str(objData.Rows(i).Item("SpecID1")).Trim
strTemp(i, Enum_Col.ICOL_SpecDtlName1) = MCO001.DBNULL2Str(objData.Rows(i).Item("SpecDtlName1")).Trim

strTemp(i, Enum_Col.ICOL_SpecNo2) = MCO001.DBNULL2Str(objData.Rows(i).Item("SpecNo1")).Trim
strTemp(i, Enum_Col.ICOL_SpecName2) = MCO001.DBNULL2Str(objData.Rows(i).Item("SpecName2")).Trim
strTemp(i, Enum_Col.ICOL_SpecID2) = MCO001.DBNULL2Str(objData.Rows(i).Item("SpecID2")).Trim
strTemp(i, Enum_Col.ICOL_SpecDtlName2) = MCO001.DBNULL2Str(objData.Rows(i).Item("SpecDtlName2")).Trim

strTemp(i, Enum_Col.ICOL_InitalStockNum) = MCO001.DBNULL2Str(objData.Rows(i).Item("InitalStockNum")).Trim
strTemp(i, Enum_Col.ICOL_RemainingStockNum) = MCO001.DBNULL2Str(objData.Rows(i).Item("RemainingStockNum")).Trim
strTemp(i, Enum_Col.ICOL_GoodsPrice) = MCO001.DBNULL2Str(objData.Rows(i).Item("GoodsPrice")).Trim

Next

Dim tmp As String = "A4:R" + (objData.Rows.Count + 4).ToString
setRangeValue(Me.Sheet, strTemp, tmp, "")
'默认选中第一行

Me.Sheet.Rows(1).Select()

End Sub
End Class

导出数据到excel的更多相关文章

  1. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

  2. 导出数据到Excel --使用ExcelReport有感

    先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...

  3. 使用Open xml 操作Excel系列之二--从data table导出数据到Excel

    由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...

  4. Dynamics CRM导出数据到Excel

    原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...

  5. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

  6. php导出数据到excel,防止身份证等数字字符格式变成科学计数的方法

    而关于php的也有,但是大多都是用phpExcel导出的方法或者spreadsheet等类或者控件之类的导出方法,而我所在维护的系统却用很简单的方法,如下,网上很少有讲如何设置要导出数据的EXcel格 ...

  7. NPOI导出数据到Excel

    NPOI导出数据到Excel   前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微 ...

  8. ASP.NET导出数据到Excel 实例介绍

    ASP.NET导出数据到Excel  该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建 ...

  9. C#导出数据到Excel通用的方法类

    导出数据到Excel通用的方法类,请应对需求自行修改. 资源下载列表 using System.Data; using System.IO; namespace IM.Common.Tools { p ...

  10. 一个方便且通用的导出数据到 Excel 的类库

    一个方便且通用的导出数据到 Excel 的类库 起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分 ...

随机推荐

  1. Java NIO框架Netty demo

    Netty是什么 Netty是一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. 也就是说,Netty 是一个基于NI ...

  2. 【bzoj2434】[Noi2011]阿狸的打字机

    题目描述 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母.经阿狸研究发现,这个打字机是这样工作的:l 输入小写字 ...

  3. Struts2中OGNL

    什么是OGNL OGNL:Object Graph Navigation Language  对象导航图语言 开源项目,取代页面中Java脚本,简化数据访问 和EL同属于表达式语言,但功能更为强大 让 ...

  4. IOS UITextField 设置光标位置

    textField.leftView = [[[UIView alloc] initWithFrame:CGRectMake(, , , )] autorelease]; textField.left ...

  5. geektool--一款很geek的工具

    2016/12/18 今天尝试一款很geek的工具 geektool 听名字就超级geek有木有 get it geektool website 从官网直接下载app,一键傻瓜式安装. use it ...

  6. media screen 响应式布局(知识点)

    一.什么是响应式布局? 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端--而不是为每个终端做一个特定的版本.这个概念是为解决移动互联网 ...

  7. 【安卓】给ViewFlipper加指示器,相似ViewPagerIndicator库提供的那种、!

    思路: 1.viewPager有setOnPageChangeListener能够监听切换动作,但viewFlipper却死活没类似的东西.! 此处有一个变种思路,基于animation,animat ...

  8. 动态规划晋级——POJ 3254 Corn Fields【状压DP】

    转载请注明出处:http://blog.csdn.net/a1dark 分析:刚开始学状压DP比较困难.多看看就发现其实也没有想象中那么难.这道题由于列数较小.所以将行压缩成二进制来看.首先处理第一行 ...

  9. android之interpolator的用法详解

    Android:interpolator Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repea ...

  10. HDFS Architecture--官方文档

    HDFS Architecture Introduction The Hadoop Distributed File System (HDFS) is a distributed file syste ...