`
wsql
  • 浏览: 12102641 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

在.NET环境下将报表导出Excel和Word

阅读更多
在.NET环境下将报表导出Excel和Word

<!---【孟宪会之精彩世界】--->

在VB.NET同样可以将报表导出到Excel和Word进行输出,制作出专业水平的报表。具体操作如下:(注:首先需添加引用,选择COM-->选择Microsoft Word Object Library和Microsoft Excel Object Library组件)

<xmp>Private Function CreaTable() As DataTable Dim dt As New DataTable() dt.Columns.Add("列1", GetType(String)) dt.Columns.Add("列2", GetType(Integer)) dt.Columns.Add("列3", GetType(String)) dt.Columns.Add("列4", GetType(String)) Dim row, row1 As DataRow row = dt.NewRow() row!列1 = "行1" row!列2 = 1 row!列3 = "d" row!列4 = "a" dt.Rows.Add(row) row1 = dt.NewRow() row1!列1 = "行2" row1!列2 = 12 row1!列3 = "b" row1!列4 = "c" dt.Rows.Add(row1) Return dt End Function '2.将表中的内容导出到Excel Dim xlApp As New Excel.Application() Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim rowIndex As Integer = 1 Dim colIndex As Integer = 0 xlBook = xlApp.Workbooks().Add xlSheet = xlBook.Worksheets("sheet1") Dim Table As New DataTable() Table = CreaTable() '将所得到的表的列名,赋值给单元格 Dim Col As DataColumn Dim Row As DataRow For Each Col In Table.Columns colIndex = colIndex + 1 xlApp.Cells(1, colIndex) = Col.ColumnName Next '得到的表所有行,赋值给单元格 For Each Row In Table.Rows rowIndex = rowIndex + 1 colIndex = 0 For Each Col In Table.Columns colIndex = colIndex + 1 xlApp.Cells(rowIndex, colIndex) = Row(Col.ColumnName) Next Next With xlSheet .Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Name = "黑体" '设标题为黑体字 .Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Bold = True '标题字体加粗 .Range(.Cells(1, 1), .Cells(rowIndex, colIndex)).Borders.LineStyle = 1 '设表格边框样式 End With With xlSheet.PageSetup .LeftHeader = "" &amp; Chr(10) &amp; "&amp;""楷体_GB2312,常规""&amp;10公司名称:" ' &amp; Gsmc .CenterHeader = "&amp;""楷体_GB2312,常规""公司人员情况表&amp;""宋体,常规""" &amp; Chr(10) &amp;_ "&amp;""楷体_GB2312,常规""&amp;10日 期:" .RightHeader = "" &amp; Chr(10) &amp; "&amp;""楷体_GB2312,常规""&amp;10单位:" .LeftFooter = "&amp;""楷体_GB2312,常规""&amp;10制表人:" .CenterFooter = "&amp;""楷体_GB2312,常规""&amp;10制表日期:" .RightFooter = "&amp;""楷体_GB2312,常规""&amp;10第&amp;P页 共&amp;N页" End With xlApp.Visible = True '3.将表中的内容导出到WORD Dim wordApp As New Word.Application() Dim myDoc As Word.Document Dim oTable As Word.Table Dim rowIndex, colIndex As Integer rowIndex = 1 colIndex = 0 wordApp.Documents.Add() myDoc = wordApp.ActiveDocument Dim Table As New DataTable() Table = CreaTable() oTable = myDoc.Tables.Add(Range:=myDoc.Range(Start:=0, End:=0), _ NumRows:=Table.Rows.Count + 1, NumColumns:=Table.Columns.Count) '将所得到的表的列名,赋值给单元格 Dim Col As DataColumn Dim Row As DataRow For Each Col In Table.Columns colIndex = colIndex + 1 oTable.Cell(1, colIndex).Range.InsertAfter(Col.ColumnName) Next '得到的表所有行,赋值给单元格 For Each Row In Table.Rows rowIndex = rowIndex + 1 colIndex = 0 For Each Col In Table.Columns colIndex = colIndex + 1 oTable.Cell(rowIndex, colIndex).Range.InsertAfter(Row(Col.ColumnName)) Next Next oTable.Borders.InsideLineStyle = 1 oTable.Borders.OutsideLineStyle = 1 wordApp.Visible = True </xmp>


参看本的帖子
http://community.csdn.net/Expert/topic/3417/3417163.xml?temp=.9710504

发布一个操作Excel类库 功能 excel文件创建修改 单元格数据格式编辑 图片 图表 插入控制 外部数据的添加 插入等

下载地址:http://www.journeychina.com/OfficeEditor/

ExcelEditor提供以下方法:

'创建一个Excel对象
Public Sub Creat()

'打开一个Excel对象
Public Sub Open(ByVal FileName As String)
参数描述:FileName :excel文件路径

'获取一个工作表
Public Function GetSheet(ByVal SheetName As String) As Excel.Worksheet
参数描述:SheetName :工作表名称

'添加一个工作表
Public Function AddSheet(ByVal SheetName As String) As Excel.Worksheet

'删除一个工作表
Public Function DelSheet(ByVal SheetName As String)

'重命名一个工作表

Public Function ReNameSheet(ByVal OldSheetName As String, ByVal NewSheetName As String) As

Excel.Worksheet

Public Function ReNameSheet(ByVal Sheet As Excel.Worksheet, ByVal NewSheetName As String) As

Excel.Worksheet


'设置一个单元格的值

Public Sub SetCellValue(ByVal ws As Excel.Worksheet, ByVal x As Integer, ByVal y As Integer, ByVal

value As Object)

参数说明 ws:要设值的工作表 X行Y列 value 值
Public Sub SetCellValue(ByVal ws As String, ByVal x As Integer, ByVal y As Integer, ByVal value As

Object)


' 设置一个单元格的属性 字体, 大小,颜色 ,对齐方式

Public Sub SetCellProperty(ByVal ws As Excel.Worksheet, ByVal Startx As Integer, ByVal Starty As

Integer, ByVal Endx As Integer, ByVal Endy As Integer, ByVal size As Integer, Optional ByVal name As

String = "宋体", Optional ByVal color As Excel.Constants = Excel.Constants.xlAutomatic, Optional ByVal

HorizontalAlignment As Excel.Constants = Excel.Constants.xlLeft)


参数说明 :ws:要设值的工作表 Startx 起始单元格的行 Starty 起始单元格的列 Endx 结束单元格的行 Endy 结束

单元格的列 size 字体大小 name 字体 color 颜色 HorizontalAlignment 对齐方式

Public Sub SetCellProperty(ByVal wsn As String, ByVal Startx As Integer, ByVal Starty As Integer,

ByVal Endx As Integer, ByVal Endy As Integer, Optional ByVal size As Integer = 12, Optional ByVal name

As String = "宋体", Optional ByVal color As Excel.Constants = Excel.Constants.xlAutomatic, Optional

ByVal HorizontalAlignment As Excel.Constants = Excel.Constants.xlAutomatic.xlRight)


'合并单元格
Public Sub UniteCells(ByVal ws As Excel.Worksheet, ByVal Startx As Integer, ByVal Starty As Integer,

ByVal Endx As Integer, ByVal Endy As Integer)

参数说明 :ws:要设值的工作表 Startx 起始单元格的行 Starty 起始单元格的列 Endx 结束单元格的行 Endy 结束

单元格的列


'将内存中数据表格插入到Excel指定工作表的指定位置 为在使用摩板时控制格式时使用
Public Sub InsertTable(ByVal dt As Data.DataTable, ByVal ws As String, ByVal startX As Integer,

ByVal startY As Integer)

Public Sub InsertTable(ByVal dt As Data.DataTable, ByVal ws As Excel.Worksheet, ByVal startX As

Integer, ByVal startY As Integer)


'将内存中数据表格添加到Excel指定工作表的指定位置
Public Sub AddTable(ByVal dt As Data.DataTable, ByVal ws As String, ByVal startX As Integer, ByVal

startY As Integer)
Public Sub AddTable(ByVal dt As Data.DataTable, ByVal ws As Excel.Worksheet, ByVal startX As Integer,

ByVal startY As Integer)

'插入图片操作"
Sub InsertPictures(ByVal Filename As String, ByVal ws As String)

Sub InsertPictures(ByVal Filename As String, ByVal ws As String, ByVal Height As Integer, ByVal Width

As Integer)

Sub InsertPictures(ByVal Filename As String, ByVal ws As String, ByVal left As Integer, ByVal top As

Integer, ByVal Height As Integer, ByVal Width As Integer)


插入图表操作"
Public Sub InsertActiveChart(ByVal ChartType As Excel.XlChartType, ByVal ws As String, ByVal

DataSourcesX1 As Integer, ByVal DataSourcesY1 As Integer, ByVal DataSourcesX2 As Integer, ByVal

DataSourcesY2 As Integer, Optional ByVal ChartDataType As Excel.XlRowCol = Excel.XlRowCol.xlColumns)

参数说明 :ChartType 为图表类型 ws:要设值的工作表名 DataSourcesX1 图表数据源起始单元格的行

DataSourcesY1 图表数据源起始单元格的列 DataSourcesX2 图表数据源结束单元格的行 DataSourcesY2 图表数据源结

束单元格的列 ChartDataType 图表数据数据方式

' 保存文档
Public Function Save() As Boolean

' 文档另存为
Public Function SaveAs(ByVal FileName) As Boolean

' 关闭一个Excel对象,销毁对象
Public Sub Close()

这个一定要有!要不然 在系统进程中回有很EXCEL进程没有销毁!


使用方法:引用:VBExcelWordEditor.dll com引用: Microsoft Excel 10.0 Object Library


暂时只做了这些功能,慢慢扩展

分享到:
评论

相关推荐

    在.NET环境下将报表导出Excel和Word.rar

    本压缩包文件“在.NET环境下将报表导出Excel和Word.rar”显然提供了关于如何在.NET框架下实现这一功能的资源和示例。 首先,我们要了解.NET Framework中的关键库和技术,这对于报表导出至关重要。微软提供的...

    VB.net 将水晶报表导出成pdf,word,excel等制定文件

    这个程序实例重点展示了如何利用Crystal Reports的API将报表导出为PDF、Word和Excel等常见文件格式。以下是关于这个主题的详细知识讲解: 1. **水晶报表简介** - 水晶报表是SAP公司的一款产品,专门用于设计和生成...

    .NET 导出EXCLE WORD

    在.NET框架中,导出Excel和Word是常见的需求,尤其在数据报表、数据分析以及文档生成等场景中。本文将深入探讨如何使用.NET技术实现从DataTable、DataList等数据源导出到Excel和Word。 首先,我们需要理解.NET中的...

    asp.net导出万能Excel和word

    在ASP.NET中,导出数据到Excel和Word是常见的需求,尤其在数据分析、报表生成以及信息分享场景下。本文将详细讲解如何在ASP.NET环境中实现这个功能,包括使用不同的库和技术,以及处理各种数据类型和格式的问题。 ...

    帆软报表导出各种格式(excel/word/pdf等)

    在本主题中,我们将探讨如何使用帆软报表导出各种格式,包括Excel、Word和PDF等,以便满足不同场景下的需求。 首先,我们要知道帆软报表的导出功能依赖于两个核心的Java类库:fr-server-6.5.jar和fr-third-6.5.jar...

    VB.NET输出Word和Excel报表模块

    在VB.NET中,开发人员经常需要处理数据的输出,尤其是生成Word文档和Excel电子表格,这对于报告、数据分析和数据导出等任务至关重要。本模块主要介绍如何使用VB.NET来实现这些功能,为初学者提供实践指导。 首先,...

    asp.net 数据导出word

    在ASP.NET中,数据导出到Word是一种常见的需求,尤其在报表生成、文档自动化和信息共享等场景下。本文将详细讲解如何利用ASP.NET技术实现数据从网页或数据库导出到Word文档,并处理HTML代码,确保导出内容的格式正确...

    ASP.NET下使用水晶报表的快速入门教程 chm

    本快速入门教程将帮助你理解和掌握如何在ASP.NET环境中利用水晶报表进行报表设计和展示。 首先,让我们了解一下水晶报表的基本概念。水晶报表主要由以下几个部分组成: 1. **数据源**:报表的数据通常来源于数据库...

    asp.net导出wordexcel

    开发者可以通过分析和运行这个项目,学习如何在ASP.NET环境中实现Word和Excel的导入导出功能。这个项目可能还会包含详细的说明文档或者注释,帮助理解代码逻辑和实现方法。 总结来说,ASP.NET导出Word和Excel的功能...

    .NET C#跨平台操作EXCEL word

    在.NET环境中,处理Excel和Word文档通常需要使用特定的库,因为内置的.NET类库并不支持这些功能。在给定的"标题"和"描述"中,我们关注的重点是使用C#在跨平台上操作Excel和Word的库。 描述中提到的"库文件"通常指的...

    asp.net(C#)报表工具

    - 多格式导出:支持将报表导出为PDF、Excel、Word等多种格式。 - 自定义设计:提供图形化设计界面,允许用户自定义布局和样式。 - 报表参数:支持用户输入参数,以过滤或分组数据。 - 分页和打印:优化报表查看...

    shuijingbaobiao.rar_asp.net_asp.net 报表_水晶报表_水晶报表教程_水晶报表视频教程

    6. **报表导出和打印**:水晶报表可以导出为PDF、Excel、Word等多种格式,便于分享和打印。教程会介绍如何设置导出选项和处理导出过程中的问题。 7. **ASP.NET集成**:将水晶报表嵌入到ASP.NET Web应用程序中,可以...

    .net生成word报表

    在系统里,直接引用该文件,可以进行word报表的制作,往里面添加 文字、统计图表等。这条、引用的COM组件版本 C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft....

    asp.net导出数据到word表格

    在ASP.NET环境中,导出数据到Word表格是一项常见的任务,特别是在需要将动态生成的数据报告或者报表转换为可编辑、可打印的文档格式时。在这个场景中,ASP.NET 2005版本结合SQL Server 2000数据库,可以通过多种方式...

    水晶报表 vb.net

    在VB.NET环境下,水晶报表能够帮助开发者创建复杂的数据报告,提供丰富的图表、表格和自定义样式,使得数据呈现更加直观和易读。下面我们将深入探讨如何在VB.NET中使用水晶报表,以及如何实现数据导出到Excel和Word...

    asp.net导出word

    本文将详细讲解如何在ASP.NET环境下实现Word文档的导出,主要包括以下知识点: 1. **Word文档的基本概念** - Word是Microsoft Office套件中的文字处理软件,用于创建、编辑和格式化文本。 - DOC和DOCX是两种常见...

    ASP_NET导出Excel数据方法总结

    本篇文章将深入探讨几种在ASP.NET环境中导出Excel数据的方法,包括它们的工作原理、优缺点以及适用场景。 #### 方法一:引用COM组件 这种方法通过直接调用Excel COM组件,将数据从DataTable导入至Excel单元格,并...

    最实用的asp导出word、导出excel方法

    在ASP(Active Server Pages)开发中,导出数据到Word或Excel是常见的需求,尤其在报表生成、数据分享等场景中。本篇文章将详细介绍如何在ASP中实现这一功能,确保一次性成功,避免“Excel对象不能创建”的错误。 ...

    .NET下水晶报表教程.

    这篇教程将深入探讨.NET环境下的水晶报表使用方法,帮助开发者掌握这一技术,提升报告设计和数据可视化的能力。 首先,让我们了解水晶报表的基础。水晶报表是一款由SAP公司开发的报告生成软件,它允许开发者利用...

    .net 水晶报表实例.rar

    此外,水晶报表还具有导出功能,用户可以将报表导出为PDF、Excel、Word等多种格式,这在实际应用中非常实用。在.NET程序中,可以通过报表类的ExportToStream方法实现导出。 总的来说,.NET环境下的水晶报表提供了...

Global site tag (gtag.js) - Google Analytics