导出数据到excel
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.ASP.NET MVC使用EPPlus,导出数据到Excel中
好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...
- 导出数据到Excel --使用ExcelReport有感
先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...
- 使用Open xml 操作Excel系列之二--从data table导出数据到Excel
由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...
- Dynamics CRM导出数据到Excel
原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...
- MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult
导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...
- php导出数据到excel,防止身份证等数字字符格式变成科学计数的方法
而关于php的也有,但是大多都是用phpExcel导出的方法或者spreadsheet等类或者控件之类的导出方法,而我所在维护的系统却用很简单的方法,如下,网上很少有讲如何设置要导出数据的EXcel格 ...
- NPOI导出数据到Excel
NPOI导出数据到Excel 前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微 ...
- ASP.NET导出数据到Excel 实例介绍
ASP.NET导出数据到Excel 该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建 ...
- C#导出数据到Excel通用的方法类
导出数据到Excel通用的方法类,请应对需求自行修改. 资源下载列表 using System.Data; using System.IO; namespace IM.Common.Tools { p ...
- 一个方便且通用的导出数据到 Excel 的类库
一个方便且通用的导出数据到 Excel 的类库 起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分 ...
随机推荐
- Android中的双向链表
1.看源代码必须搞懂Android的数据结构.在init源代码中双向链表listnode使用非常多,它仅仅有prev和next两个指针,没有不论什么数据成员.这个和linux内核的list_head如 ...
- Mono For Android离线激活
我们之前创建过Mono For Android的开发环境,但是使用一段时间后就说明证书过期,那如何破解呢? 但我说的这个也就只能使用免费的证书. 首先下载免费的证书,monoandroid.licx, ...
- C/C++笔试题整理
1. C的结构体和C++结构体的区别 (1)C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数.所以C的结构体是没有构造函数.析构函数.和this指针的. (2)C的结构体对 ...
- Android -- 官方下拉刷新SwipeRefreshLayout
V4的兼容包 API 大概就这4个常用的方法. code 布局 <RelativeLayout xmlns:android="http://schemas.android.com/ap ...
- Java基础知识强化之IO流笔记08:异常的注意事项
1. 异常注意事项: (1)子类重写父类方法时候,子类的方法必须抛出相同的异常或者父类异常的子类.(父亲坏了,儿子不能比父亲更坏) (2)如果父类抛出多个异常,子类重写父类时候,只能抛出相同的异常或者 ...
- uva 10934 Dropping water balloons(转载)
本文转载自http://blog.csdn.net/shuangde800/article/details/11273123 题意 你有k个一模一样的水球,在一个n层楼的建筑物上进行测试,你想知道水球 ...
- codevs1099字串变换(Bfs)
/* 最少步数问题 妥妥的Bfs 很显然队列里存的是串(可能存个数也可以 就像8数码那样) 然后每次队首元素弄出来 能换的都换一遍 最后每次换完的新串入队前先判断到头了没 最后说一句 String大法 ...
- poj 1330 LCA (倍增+离线Tarjan)
/* 先来个倍增 */ #include<iostream> #include<cstring> #include<cstdio> #define maxn 100 ...
- Android中Application全局方法(变量)的调用
Application和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息.通常我们是 ...
- C# 带参访问接口,WebClient方式
1.当参数的数据较大时.WebClient同步. //实例化WebClient client = new WebClient();//地址 string path = "http://oa. ...