vb.net电子表格 vb 表格

vb.net中 导出excel表格代码怎么写

private void ExportExcelFromDataGrid

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了龙岗免费建站欢迎大家使用!

( string filename , System.Web.UI.WebControls.DataGrid ToExcelGrid )

...{

Response.Clear();

Response.Buffer= true;

Response.Charset="utf-8";

Response.AppendHeader ("Content-Disposition","attachment;filename="+Server.UrlEncode ( filename ) );

Response.ContentEncoding=System.Text.Encoding.Default;//设置输出流为简体中文

Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。

this.EnableViewState = false;

System.Globalization.CultureInfo myCItrad =

new System.Globalization.CultureInfo("ZH-CN",true);

System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);

System.Web.UI.HtmlTextWriter oHtmlTextWriter =

new System.Web.UI.HtmlTextWriter(oStringWriter);

ToExcelGrid.RenderControl(oHtmlTextWriter);

Response.Write(oStringWriter.ToString());

Response.End();

}

private void Button4_Click(object sender, System.EventArgs e)

...{

this.Panel1.Visible = false;

string filename = "内训师.xls";

this.DataGrid1.Columns[6].Visible = true;

this.DataGrid1.Columns[7].Visible = true;

this.DataGrid1.Columns[this.DataGrid1.Columns.Count-1].Visible = false; // *

this.DataGrid1.Columns[this.DataGrid1.Columns.Count-2].Visible = false; // *

this.DataGrid1.AllowSorting = false; // *

this.DataGrid1.AllowPaging = false;

this.DataGrid1.SelectedIndex = -1; // *

this.BindGrid();

this.ExportExcelFromDataGrid ( filename , this.DataGrid1 );

}

}

原理是利用DataGrid(其实是其父类Control)的RenderControl方法输出,整个DataGrid的外观时,将这些HTML代码写入到缓冲区,同时设置一下 ContentType ,让Excel自己的自动纠错功能将这个输出存为一个Excel文件。

很多网上的朋友使用了以上这种可粘贴性强的代码,发现不好用,反映的错误类似:

“LinkButton必须放在一个具有runat=server的标签的Form”之类的话,而更多的网友说:

问题很明显,因为DataGrid没有放在runat=server 的Form里面,加上就可以了。

我认为,这种回答是很不准确的,理由如下:

通常使用这种代码的人他/她的DataGrid,最起码已经能用了,所以必定放在那个具有runat=server 的form标签里了。 报错是LinkButton,而不是DataGrid,很多细心的朋友很可能会说,我一直在用DataGrid,LinkButton在哪里来的。 其实真正的问题是,上面的代码没有加了 // * 的那几行代码引起的。

当然如果你的DataGrid,没有排序,没有使用那种按钮列的话,是不会出问题的。

言归正传,LinkButtion其实是你将DataGrid设为可排序时候,的表头包含的,所以我要将DataGrid的排序设为False。

同样得到上面的其实,那些按钮列,什么"编辑"、“删除”等等这些,也是用了LinkButton,把他设为不可见就是了。

其实说得再明白一点就是,将有可能产生LinkButton,或其他控件的东西都不让它输出就是了

vb.net dataGridView中的数据导出为excel表2010-03-01 15:03在form1窗体里添加一个dataGridView1(根据自己是使用情况要给他命名,符合命名规范哟。)在添加一个Button1(命名)。记着,dataGridView的属性里有一个allowUsersToAddRows,要设置成FALSE。否则会发生一个错误,当然错误是什么你自己试一下就ok了。

还有一点要注意:因为你要用到excel表,所以要首先在项目里添加引用哟:项目(project)-添加引用(add reference)-Microsoft .Office.Interop.Excel

Button1的代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'要先添加引用才能用到 Microsoft.Office.Interop.Excel.Application()

Dim MyExcel As New Microsoft.Office.Interop.Excel.Application()

MyExcel.Application.Workbooks.Add(True)

MyExcel.Visible = True

'去除dataGridView1的编号列(这里也可以不要)

Dim m As Integer

For m = 0 To DataGridView1.ColumnCount - 1

MyExcel.Cells(1, m + 1) = Me.DataGridView1.Columns(m).HeaderText

Next m

'往excel表里添加数据

Dim i As Integer

For i = 0 To DataGridView1.RowCount - 1

Dim j As Integer

For j = 0 To DataGridView1.ColumnCount - 1

If Me.DataGridView1(j, i).Value Is System.DBNull.Value Then

MyExcel.Cells(i + 2, j + 1) = ""

Else

MyExcel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString

End If

Next j

Next i

End Sub

vb.net在excel添加新的一页

1、首先打开excel工作表格。

2、其次用鼠标右键点击“标签栏”,选择“插入”。

3、最后选择里面“工作表”点击即可完成添加。

vb.net怎么访问excel表格

我的是2007版本,其它类似

1.在工程中引用Microsoft Excel 12.0 Object Library

2、在通用对象的声明过程中定义EXCEL对象:

Dim xlApp As Excel.Application

Dim xlBook As Excel.WorkBook

Dim xlSheet As Excel.Worksheet

3、在程序中操作VB.NET EXCEL常用命令:

Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象

Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件

xlApp.Visible = True '设置EXCEL对象可见(或不可见)

Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表

xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值

xlSheet.PrintOut '打印工作表

xlBook.Close (True) '关闭工作簿

xlApp.Quit '结束EXCEL对象

Set xlApp = Nothing '释放xlApp对象

xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏 xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏

还有很多,这个要自己慢慢摸索

VB.net中把datagridview中的数据导出到电子表格,表格导出后出现"未将对象引用设置到对象的实例。

以下是我以前百度找的资料 希望对你有用 你读取DataGridView到DataGrid然后直接调用函数即可

Public Function ExportXLsD(ByVal datagrid As DataGrid) ', ByVal Title As String)

'Dim Mytable As New DataTable

'Mytable = CType(datagrid.DataSource, DataTable)

If mytable Is Nothing Then

MessageBox.Show("没有记录不能导出数据", "PurpleStar", MessageBoxButtons.OK, MessageBoxIcon.Information)

Exit Function

End If

If mytable.Rows.Count 0 Then

Dim MyFileName As String

Dim FileName As String

With SaveFileDialog1

.AddExtension = True '如果用户忘记添加扩展名,将自动家上

.DefaultExt = "xls" '默认扩展名

.Filter = "Excel文件(*.xls)|*.xls"

.Title = "文件保存到"

If .ShowDialog = DialogResult.OK Then

FileName = .FileName

End If

End With

MyFileName = Microsoft.VisualBasic.Right(FileName, 4)

If MyFileName = "" Then

Exit Function

End If

If MyFileName = ".xls" Or MyFileName = ".XLS" Then

Dim FS As FileStream = New FileStream(FileName, FileMode.Create)

Dim sw As StreamWriter = New StreamWriter(FS, System.Text.Encoding.Default)

sw.WriteLine(vbTab FileName vbTab Date.Now)

Dim i, j As Integer

Dim str As String = ""

For i = 0 To mytable.Columns.Count - 1

str = mytable.Columns(i).Caption

sw.Write(str vbTab)

Next

sw.Write(vbCrLf)

For j = 0 To mytable.Rows.Count - 1

For i = 0 To mytable.Columns.Count - 1

Dim strColName, strRow As String

strRow = IIf(mytable.Rows(j).Item(i) Is DBNull.Value, "", mytable.Rows(j).Item(i))

sw.Write(strRow vbTab)

Next

sw.Write(vbLf)

Next

sw.Close()

FS.Close()

MessageBox.Show("数据导出成功!", "PurpleStar", MessageBoxButtons.OK, MessageBoxIcon.Information)

Else

Exit Function

End If

Else

MessageBox.Show("没有记录不能导出数据", "PurpleStar", MessageBoxButtons.OK, MessageBoxIcon.Information)

End If

End Function

Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click

Dim saveExcel As SaveFileDialog

saveExcel = New SaveFileDialog

saveExcel.Filter = "Excel文件(.xls)|*.xls"

Dim filename As String

If saveExcel.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub

filename = saveExcel.FileName

Dim excel As Excel.Application

excel = New Excel.Application

excel.DisplayAlerts = False

excel.Workbooks.Add(True)

excel.Visible = False

Dim i As Integer

For i = 0 To DataGridView1.Columns.Count - 1

excel.Cells(1, i + 1) = DataGridView1.Columns(i).HeaderText

Next

'设置标题

Dim j As Integer

For i = 0 To DataGridView1.Rows.Count - 1 '填充数据

For j = 0 To DataGridView1.Columns.Count - 1

excel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value

Next

Next

excel.Workbooks(1).SaveCopyAs(filename) '保存

Me.Close()

End Sub

vb.net获取excel页面高度

1 打开Excel dim myexcelas new Excel.Application() myexcel.visible=true

2 添加新的工作簿myexcel.Workbooks.add()

3 设定第二个工作表为活动工作表myexcel.worksheets(2).Acivate()

4 打开指定的Excel文件myexcel.workbooks.open(“c:\my.xls”)

5 显示Excel窗口myexcel.visible=true

6 更改Excel的标题栏myexcel.caption=“欢迎,欢迎!”

7 为Excel的单元格赋值myexcel.cells(1,4).value=100 此语句使Excel当前工作表的第一行第四列,即D1单元格等于100, 也可以这样写: myexcel.Range(“D1”).value=100

8 设置指定列的宽度(单位:字符个数)myexcel.ActiveSheet.colums(1).columnwidth=20 设定当前工作表第1列的宽度为20

9 设置指定行的高(单位:磅)myexcel.ActiveSheet.rows(1).rowHeight=1/0.035 1磅 =0.035厘米设置第1行的高度为1CM

10 插入分页符 myexcel.Activesheet.rows(20).pagebreak=1在第20行前插入分页符

11 删除分页符myexcel.Activesheet.columns(20).pagebreak=0 在第20列前删除分页符

12 指定边框线的宽度myexcel.Activesheet.range(“B3:D3”).borders(1).weight=3 其中borders参数指定单元格边框的位置:1:左 2:右 3:顶 4:底 5:斜\ 6:斜/

13 指定边框线条的类型 myexcel.Activesheet.range(“B1:D3”).borders(2).linestyle=1此语句将当前工作表的B1:D3单元格的右边框设置为实线 linestyle参数: 1:细实线 2:细虚线 3:点虚线 4:双细实线

14 设置页脚myexcel.activesheet.pagesetup.centerfooter=“第p页” 注意:设置页眉页脚时要保证计算机上装有打印机,否则出错!

15 设置页眉myexcel.activesheet.pagesetup.centerfooter=“第p页”

16 设置页眉到顶断距离为2cmmyexcel.Activesheet.pagesetup.Headermargin=2/0.035

17 设置页脚到底端距离为2cmmyexcel.Activesheet.pagesetup.Footermargin=2/0.035

18 设置顶边边距为2cmmyexcel.Activesheet.pagesetup.topmargin=2/0.035

19 设置底边边距为2cmmyexcel.Activesheet.pagesetup.Bottommargin=2/0.035

20 设置左边边距为2cmmyexcel.Activesheet.pagesetup.Leftmargin=2/0.035

21 设置右边边距为2cmmyexcel.Activesheet.pagesetup.Rightmargin=2/0.035

22 设置页面水平居中myexcel.activesheet.pagesetup.CenterHorizontally=true

23 设置页面垂直居中myexcel.activesheet.pagesetup.Centervertically=true

24 设置页面纸张大小 (1,窄行8.511 ;39 ,宽行1411) myexcel.activesheet.pagesetup.papersize=1

25 打印单元格网格线 myexcel.activesheet.pagesetup.PrintGridlines=true

26 复制整个工作表 myexcel.activesheet.Usedrange.Copy

27 复制指定区域 myexcel.activesheet.range(“a1:b5”).Copy

28 粘贴 myexcel.worksheets(“sheet2”).range(“A1”).PasteSpecial

29 在第2行前插入一行 myexcel.activesheet.rows(2).Insert

30 在第2列前插入一列 myexcel.Activesheet.Columns(2).Insert

31 合并 C4:D4 单元格 myexcel.Activesheet.Range(“C4:D4”).Merge()

32 自动调整第2列列宽 myexcel.activesheet.Columns(2).AutoFit

33 设置字体myexcel.Activesheet.cells(2,1).font.name=“黑体”

34 设置字体大小myexcel.Activesheet.cells(2,1).font.size=25

35 设置字体为斜体 myexcel.Activesheet.cells(2,1).font.Italic=true

36 设置字体为粗体 myexcel.Activesheet.cells(2,1).font.Bold=true

37 清除单元格内容myexcel.activesheet.cells(2,1).ClearContents

38 打印预览工作表myexcel.Activesheet.PrintPreview

39 打印工作表 myexcel.Activesheet.Printout

40 工作表另存为myexcel.ActiveWorkbook.saveas(“C:\book2.xls”)

41 放弃存盘 myexcel.ActiveWorkbook.saved=false

42 关闭工作簿 myexcel.Workbooks.close

43 退出 Excel myexcel.quit

44 纸张横向:myexcel.activesheet.PageSetup.OrientaTion=2(1纵向)

45 单元格居中:cells(2,1).HorizontalAlignment=Excel.XlHAlign.xlHAlignCenter 水平方向cells(2,1).VerticalAlignment=Excel.XlVAlign.xlVAlignCenter 垂直方向

打开CSDN APP,看更多技术内容

VB调用Excel软件实现打印预览功能

摘要:VB源码,报表打印,打印预览VB调用Excel软件实现打印预览功能,可以插入折线图,VB打印预览功能示例源码,分享给大家参考。

用vb操作EXCEL打印报表

最近使用vb来打印报表,打印出来的EXCEL一直无法上传到ftp 反复多次问题都没解决, 200 PORT command successful. Consider using PASV. 问题出在这,由于win10的防火墙的原因,关闭防火墙后问题得到解决. 转载于:...

继续访问

VB操作excel 格式设置及打印页面设置(精简)

langue:VB Set ExcelApp = CreateObject("Excel.Application") ’创建资源,建立连接 Set ExcelBook = ExcelApp.Workbooks.Open(“d:\pipo\index.htm") Set ExcelSheet = ExcelBook.Worksheet...

继续访问

vb.net excel操作:填充人事档案表并打印

节选自:《Visual Basic.Net 循序渐进》【例 21.7】【项目:code21-007】填充人事档案表并打印。 本例使用到的Excel文件为:职员信息登记表.xlsx,如下图所示: 图21-10 职员信息登记表 窗体设计如下图所示(注意:为了演示方便,已经填充了数据): 图21-11 窗体设计 在本例中还需要掌握的知识: 1、插入图片到指定位置 Worksheet.Shapes.AddPicture(Filename, LinkToFile, SaveWithDocumen

继续访问

vb.net操作Excel常用命令

转载: 首先,须在项目里引用: 添加引用-Com-Microsoft Excel 9.0 Object Library (这是EXCEL2000) 1 打开Excel: dim myexcel as new Excel.Application() myexcel.visib...

继续访问

vb.net 如何实现报表打印_Excel如何实现分类别打印?创建组轻松实现

有朋友咨询个关于Excel打印数据问题,他的需求是这样的:下表中是某公司人员信息表,现在领导要求将表格分部门打印出来,每位员工核对个人信息并签字。需求很明确,就是将相同部门的人员打印到一张纸上。打印很简单,难点在于如何按每个部门去打印?如果部门较少的话可以将不同部门复制到不同插页中,再进行打印;但是如果部门较多的话,这种办法实在不可取;有小伙伴表示可以利用VBA技术将部门拆分到各个插页,在进行打印...

继续访问

最新发布 vb.net 教程 11-1 打印组件 3 PageSetupDialog

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本节谈谈另外一个有关打印的对话框:PageSetupDialog,页面设置对话框 实际我们是通过这个对话框获得PageSetting,关于PageSetting在上一节有部分介绍,请参看 vb.net 教程 11-1 打印组件 PrintDialog 2 注意的是,使用PageSetupDialog需要绑定一个PrintDocument,在PageSetupDialog的Document属性处

继续访问

VB.NET使用EXCEL常见操作

首先,须在项目里引用: 添加引用Microsoft.Office.Interop.Excel Imports Excel = Microsoft.Office.Interop.Excel 1 打开Excel: Dim myexcel as new Excel.Application() myexcel.visible=true 2 添加新的工作簿: myexcel.Workbooks.ad

继续访问

【VB Excel】VB 操作Excel基本步骤

VB操作EXCEL,实现数据读取 1、定义Excel操作变量 Dim objExcelFile As Excel.Application Dim objWorkBook As Excel.Workbook Dim objImportSheet As Excel.Worksheet 2、打开Excel进程,并打开目标Exc...

继续访问

vba代码编程800例_如何设置Excel打印格式,学会这个VBA对象就可以随心所欲

NO.1 Excel如何设置打印格式使用vba可以做打印格式处理,如何做一个漂亮的打印页面,不外乎要设置打印表格的边框、版式、页眉、页角等等。那么怎样设置这些格式呢?NO.2 PageSetup对象vba编程用到Pagesetup对象,对表格打印进行设置。PageSetup对象有许多属性,下面图片里列出了大部分常用的属性,可以对照进行设置。具体方法下面举个例子来展示一下最终效果。PageSetup...

继续访问

vb.net操作excel文件

[转自] vb.net操作excel文件 要求将数据显示在Excel表中,并且要设好数据格式。虽说如此,真正实现了自己的功能,还是费了不少时间。相信还是有很多与我相似的人需要实现这种功能。那就做个小结吧。不妥之处,请指正哦。 1.添加引用–com—microsoft excel 11.0 object library 2在需要访问excel的过程中定义 dim exapp as excel.a

继续访问

VB.net使用PrintForm打印窗体

在VS2010中内置了了一个PowerPacks的扩展包,果然很好用啊,可以直接打印窗体内容 先从"工具箱"中拖一个PrintForm到设计好的窗体中 然后在窗体里加了个打印的按钮,对应代码如下 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.

继续访问

热门推荐 开源:.NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现与应用(2)

!--google_ad_client = "pub-0022674553583619";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_ad_type = "text_image";google_ad_channel ="";google_color_

继续访问

vb.net 设置打印纸张与页边距_机关公文格式设置规范(最新整理版)

本方法根据《党政机关公文格式国家标准》(GB/T9704-2012)制定。具体内容如下:一、办公软件要求适用于微软OFFICE—WORD文字处理软件。二、页面设置1.选择“文件”——“页面设置”选择“页边距”附签,上:3.7厘米,下:3.5厘米,左:2.8厘米,右:2.6厘米。2.选择“纸张”附签,“纸张大小”设成“A4”。3.选择“版式”附签,将“页眉和页脚”设置成“奇偶页不同”,在该...

继续访问

VB.NET EXCEL 操作


当前文章:vb.net电子表格 vb 表格
分享路径:http://myzitong.com/article/hppeed.html