第一步,新建項目。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比蓬萊網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式蓬萊網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務覆蓋蓬萊地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
1
打開vb.net,也就是打開Microsoft visual studio 2010,第一次使用的時候設(shè)置為basic語言就行。新建項目--打開excel。
2
新建成功。
END
第二步,添加引用。
1
“項目”--“添加引用”。
2
添加Microsoft Excel 14.0 Object Library。
END
第三步,添加打開文件對話框工具。
1
工具箱--對話框--openfiledialog。
2
添加成功。
END
第四步,添加命令按鈕控件。
1
工具箱--公共控件--button。
在控件上右擊鼠標,進入屬性設(shè)置。
2
text屬性設(shè)置為“打開excel”。
3
name屬性也設(shè)置為“打開excel”。
END
第五步,編寫程序。
1
鼠標雙擊命令按鈕,進入編程界面,編寫程序。
END
第六步,運行程序。
1
鼠標單擊啟動調(diào)式圖標,程序開始運行。
2
單擊打開excel命令按鈕,調(diào)用打開文件對話框,選擇自己要打開的excel文件。
END
第七步,保存程序。
第一次程序運行完,關(guān)閉程序,出現(xiàn)關(guān)閉項目提示,選擇保存。
2
選好自己要保存的位置。
我的是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") '創(chuàng)建EXCEL對象
Set xlBook = xlApp.Workbooks.Open("文件名") '打開已經(jīng)存在的EXCEL工件簿文件
xlApp.Visible = True '設(shè)置EXCEL對象可見(或不可見)
Set xlSheet = xlBook.Worksheets("表名") '設(shè)置活動工作表
xlSheet.Cells(row, col) =值 '給單元格(row,col)賦值
xlSheet.PrintOut '打印工作表
xlBook.Close (True) '關(guān)閉工作簿
xlApp.Quit '結(jié)束EXCEL對象
Set xlApp = Nothing '釋放xlApp對象
xlBook.RunAutoMacros (xlAutoOpen) '運行EXCEL啟動宏 xlBook.RunAutoMacros (xlAutoClose) '運行EXCEL關(guān)閉宏
還有很多,這個要自己慢慢摸索
1.新建一張表格,在表格中導入學生的成績表,如圖所示,將建立一個按鈕,通過它來實現(xiàn)查找。
2.單擊菜單欄中的“開發(fā)工具”——插入——表單控件——按鈕,在出現(xiàn)的十字箭頭上拖住畫出一個按鈕,如圖所示。
3.在彈出的查找紅對話框中選擇“錄制”,在彈出的“錄制新宏”對話框中,修改宏名稱為“查找”,單擊確定。
4. 單擊“開發(fā)工具”——查看代碼,打開VBA編輯器,如圖所示。
5.現(xiàn)在輸入代碼:
Sub 查找()
Dim jieguo As String, p As String, q As String
Dim c As Range
jieguo = Application.InputBox(prompt:="請輸入要查找的值:", Title:="查找", Type:=2)
If jieguo = "False" Or jieguo = "" Then Exit Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ActiveSheet.Cells
? Set c = .Find(jieguo, , , xlWhole, xlByColumns, xlNext, False)
? If Not c Is Nothing Then
? ? ? p = c.Address
? ? ? Do
? ? ? ? ? c.Interior.ColorIndex = 4
? ? ? ? ? q = q c.Address vbCrLf
? ? ? ? ? Set c = .FindNext(c)
? ? ? Loop While Not c Is Nothing And c.Address p
? End If
End With
MsgBox "查找數(shù)據(jù)在以下單元格中:" vbCrLf vbCrLf _
? q, vbInformation + vbOKOnly, "查找結(jié)果"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
6.現(xiàn)在回到EXCEL表格,右擊按鈕,選擇“編輯文字”,修改按鈕名稱為“查找按鈕”。
7. 現(xiàn)在單擊查找按鈕,出現(xiàn)對話框“請輸入要查找的值”,在方框中輸入“男”,單擊確定,出現(xiàn)對話框“查找數(shù)據(jù)在一下單元格中”,單擊確定,對應單元格就變成了亮色。
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;//設(shè)置輸出流為簡體中文
Response.ContentType = "application/ms-excel";//設(shè)置輸出文件類型為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 = "內(nèi)訓師.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代碼寫入到緩沖區(qū),同時設(shè)置一下 ContentType ,讓Excel自己的自動糾錯功能將這個輸出存為一個Excel文件。
很多網(wǎng)上的朋友使用了以上這種可粘貼性強的代碼,發(fā)現(xiàn)不好用,反映的錯誤類似:
“LinkButton必須放在一個具有runat=server的標簽的Form”之類的話,而更多的網(wǎng)友說:
問題很明顯,因為DataGrid沒有放在runat=server 的Form里面,加上就可以了。
我認為,這種回答是很不準確的,理由如下:
通常使用這種代碼的人他/她的DataGrid,最起碼已經(jīng)能用了,所以必定放在那個具有runat=server 的form標簽里了。 報錯是LinkButton,而不是DataGrid,很多細心的朋友很可能會說,我一直在用DataGrid,LinkButton在哪里來的。 其實真正的問題是,上面的代碼沒有加了 // * 的那幾行代碼引起的。
當然如果你的DataGrid,沒有排序,沒有使用那種按鈕列的話,是不會出問題的。
言歸正傳,LinkButtion其實是你將DataGrid設(shè)為可排序時候,的表頭包含的,所以我要將DataGrid的排序設(shè)為False。
同樣得到上面的其實,那些按鈕列,什么"編輯"、“刪除”等等這些,也是用了LinkButton,把他設(shè)為不可見就是了。
其實說得再明白一點就是,將有可能產(chǎn)生LinkButton,或其他控件的東西都不讓它輸出就是了
vb.net dataGridView中的數(shù)據(jù)導出為excel表2010-03-01 15:03在form1窗體里添加一個dataGridView1(根據(jù)自己是使用情況要給他命名,符合命名規(guī)范喲。)在添加一個Button1(命名)。記著,dataGridView的屬性里有一個allowUsersToAddRows,要設(shè)置成FALSE。否則會發(fā)生一個錯誤,當然錯誤是什么你自己試一下就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表里添加數(shù)據(jù)
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
DataGridView控件,放一個DataGridView1和Button1到窗體,下面是按鈕下代碼\x0d\x0a Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click\x0d\x0a Me.DataGridView1.AllowUserToAddRows = False\x0d\x0a DataGridView1.RowTemplate.Height = 200\x0d\x0a DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None\x0d\x0a For i = 1 To 3\x0d\x0a Me.DataGridView1.Columns.Add("列" i.ToString, "列" i.ToString)\x0d\x0a Me.DataGridView1.Rows.Add()\x0d\x0a Next\x0d\x0a Me.DataGridView1.Columns(0).Width = 100\x0d\x0a Me.DataGridView1.Columns(1).Width = 500\x0d\x0a Me.DataGridView1.Columns(0).Width = 300\x0d\x0a End Sub\x0d\x0a'自己設(shè)置相關(guān)需要的屬性即可
文章標題:vb.net電子表格 vb做表格
本文來源:http://muchs.cn/article32/dossgsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、建站公司、標簽優(yōu)化、網(wǎng)站改版、Google、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)