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

转载 2004年08月20日 16:04:00

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

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 = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:" ’ & Gsmc .CenterHeader = "&""楷体_GB2312,常规""公司人员情况表&""宋体,常规""" & Chr(10) &_ "&""楷体_GB2312,常规""&10日 期:" .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:" .LeftFooter = "&""楷体_GB2312,常规""&10制表人:" .CenterFooter = "&""楷体_GB2312,常规""&10制表日期:" .RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&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

在.NET环境下将报表导出EXCEL和WORD

在VB6开发环境下,本人使用EXCEL作过报表,在.NET环境下开发,本人使用水晶报表。但VB.NET同样可以将报表导出到EXCEL和WORD进行输出,制作出专业水平的报表。   具体操作...
  • u011877729
  • u011877729
  • 2013年08月29日 19:37
  • 263

C#.NET自动生成Excel图形报表

要制作出一个Excel文档格式的图文并茂报表,首先必 须知道如何生成或打开一个Excel文档,如何处理文档内容, 如何添加、修改文字与图表内容和其它各种Excel文档元素 对象,并对其进行格式化...
  • hongshuanghe
  • hongshuanghe
  • 2014年03月14日 17:58
  • 1228

水晶报表文件导出方法小结

近期在做水晶报表时,作者用到了水晶报表文件导出功能。在网上一搜,资料还真多,这些资料不仅多,而且非常的杂乱,让人看得非常不舒服。于是在此将其作了一点汇总和整理,以供大家参考。写的不好,请多包涵。 命...
  • SunCherryDream
  • SunCherryDream
  • 2015年04月29日 18:46
  • 3222

【Java】15个免费的报表整合工具简介(pdf,excel,word)

1. BIRT Project  BIRT报表是一款非常流行的开源报表开发工具。拥有和Dreamweaver一般的操作界面,可以像画table一样画报表,生成图片,导出Excel,html分页样样齐...
  • hj7jay
  • hj7jay
  • 2016年08月11日 10:12
  • 2030

使用POI实现报表打印功能

这篇文章主要分享的是使用apache的poi来实现数据导出到excel的功能,这里提供三种解决方案。你可以使用最原始最简单的一步步添加样式或者数据,你也可以通过一个模板来进行模板化。POI支持微软的O...
  • sdksdk0
  • sdksdk0
  • 2016年11月29日 15:34
  • 3316

Java报表工具FineReport导出EXCEL的四种方式

在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出、分页分sheet导出和大数据量导出,这些导出方式在JAVA程序中分别有不同的接口来实现。...
  • nayun123
  • nayun123
  • 2016年03月15日 13:24
  • 4959

ASP.NET利用DOC模板导出Word

首先创建DOC模板   再次,在项目中添加该中间页面 ReportWord.aspx 重点方法: private string PrintWord() { ...
  • hugaozhuang
  • hugaozhuang
  • 2013年12月03日 22:10
  • 1511

Java使用POI实现数据导出excel报表

在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式。不仅仅简单的读取office中的数据.尤其是在生产...
  • ynztpwl
  • ynztpwl
  • 2013年01月05日 13:27
  • 10967

报表开发之批量导入导出Excel

在日常使用报表过程中,会有这样一种情况,你将Excel表分发给各个员工,员工填完后,统一整理成多个Excel,你需要将这些数据,用报表的填报功能,提交录入到数据库中,这样一来可避免到服务器机房录数据的...
  • nayun123
  • nayun123
  • 2016年08月05日 10:16
  • 2216

jqgrid实现客户端导出Excel、txt、word、json等数据格式的文件

jqgrid插件貌似没有提供导出数据功能,项目以前有用bootstrap-table,有个相应的导出表格数据插件bootstrap-table-export,后面项目将所有的bootstrap-tab...
  • qq_29542611
  • qq_29542611
  • 2017年05月23日 20:40
  • 849
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在.NET环境下将报表导出Excel和Word
举报原因:
原因补充:

(最多只允许输入30个字)