网站建设资讯

NEWS

网站建设资讯

vb.net窗体表格,在vb窗体上绘制表格

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

private void ExportExcelFromDataGrid

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站设计、铜山网络推广、重庆小程序开发、铜山网络营销、铜山企业策划、铜山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供铜山建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

( 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我在窗体上添加了一个datagridview,怎么搞出个表格呢

datagridview是.net中用来显示或进行数据库数据处理的一个类似于容器的控件,所以显示出来的数据,是以类似表格的形式出现的,有行列。

vb.net中有哪些显示表格控件,如何向窗体中添加。听说有datagrid控件,如何添加到窗体中。

1拖放控件

2代码添加

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

Me.ResizeRedraw = True

Dim ff As New DataGridView

ff.ReadOnly = False‘在这里设置是否可编辑单元格

ff.Parent = Me

ff.AllowUserToAddRows = True'这里设置是否显示添加新行

ff.Columns.Add("aa", "啊啊")

ff.Columns.Add("a1", "啊")

End Sub

VB.NET中有表格控件,以用于显示程序中的数据。请问表格控件在哪里,如何添加到窗体中。。

如图所示,工具箱的“所有Windows窗体”中有,如果没有,可选择“选择项”添加

vb.net如何调用打开外部excel文档

第一步,新建项目。

1

打开vb.net,也就是打开Microsoft visual studio 2010,第一次使用的时候设置为basic语言就行。新建项目--打开excel。

2

新建成功。

END

第二步,添加引用。

1

“项目”--“添加引用”。

2

添加Microsoft Excel 14.0 Object Library。

END

第三步,添加打开文件对话框工具。

1

工具箱--对话框--openfiledialog。

2

添加成功。

END

第四步,添加命令按钮控件。

1

工具箱--公共控件--button。

在控件上右击鼠标,进入属性设置。

2

text属性设置为“打开excel”。

3

name属性也设置为“打开excel”。

END

第五步,编写程序。

1

鼠标双击命令按钮,进入编程界面,编写程序。

END

第六步,运行程序。

1

鼠标单击启动调式图标,程序开始运行。

2

单击打开excel命令按钮,调用打开文件对话框,选择自己要打开的excel文件。

END

第七步,保存程序。

第一次程序运行完,关闭程序,出现关闭项目提示,选择保存。

2

选好自己要保存的位置。

vb.net怎么使用表格控件

DataGridView控件,放一个DataGridView1和Button1到窗体,下面是按钮下代码

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

Me.DataGridView1.AllowUserToAddRows = False

DataGridView1.RowTemplate.Height = 200

DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None

For i = 1 To 3

Me.DataGridView1.Columns.Add("列" i.ToString, "列" i.ToString)

Me.DataGridView1.Rows.Add()

Next

Me.DataGridView1.Columns(0).Width = 100

Me.DataGridView1.Columns(1).Width = 500

Me.DataGridView1.Columns(0).Width = 300

End Sub

'自己设置相关需要的属性即可


网页标题:vb.net窗体表格,在vb窗体上绘制表格
文章URL:http://njwzjz.com/article/hsdjie.html