第一步,新建項(xiàng)目。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比蓬萊網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式蓬萊網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋蓬萊地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
1
打開vb.net,也就是打開Microsoft visual studio 2010,第一次使用的時(shí)候設(shè)置為basic語(yǔ)言就行。新建項(xiàng)目--打開excel。
2
新建成功。
END
第二步,添加引用。
1
“項(xiàng)目”--“添加引用”。
2
添加Microsoft Excel 14.0 Object Library。
END
第三步,添加打開文件對(duì)話框工具。
1
工具箱--對(duì)話框--openfiledialog。
2
添加成功。
END
第四步,添加命令按鈕控件。
1
工具箱--公共控件--button。
在控件上右擊鼠標(biāo),進(jìn)入屬性設(shè)置。
2
text屬性設(shè)置為“打開excel”。
3
name屬性也設(shè)置為“打開excel”。
END
第五步,編寫程序。
1
鼠標(biāo)雙擊命令按鈕,進(jìn)入編程界面,編寫程序。
END
第六步,運(yùn)行程序。
1
鼠標(biāo)單擊啟動(dòng)調(diào)式圖標(biāo),程序開始運(yùn)行。
2
單擊打開excel命令按鈕,調(diào)用打開文件對(duì)話框,選擇自己要打開的excel文件。
END
第七步,保存程序。
第一次程序運(yùn)行完,關(guān)閉程序,出現(xiàn)關(guān)閉項(xiàng)目提示,選擇保存。
2
選好自己要保存的位置。
我的是2007版本,其它類似
1.在工程中引用Microsoft Excel 12.0 Object Library
2、在通用對(duì)象的聲明過程中定義EXCEL對(duì)象:
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對(duì)象
Set xlBook = xlApp.Workbooks.Open("文件名") '打開已經(jīng)存在的EXCEL工件簿文件
xlApp.Visible = True '設(shè)置EXCEL對(duì)象可見(或不可見)
Set xlSheet = xlBook.Worksheets("表名") '設(shè)置活動(dòng)工作表
xlSheet.Cells(row, col) =值 '給單元格(row,col)賦值
xlSheet.PrintOut '打印工作表
xlBook.Close (True) '關(guān)閉工作簿
xlApp.Quit '結(jié)束EXCEL對(duì)象
Set xlApp = Nothing '釋放xlApp對(duì)象
xlBook.RunAutoMacros (xlAutoOpen) '運(yùn)行EXCEL啟動(dòng)宏 xlBook.RunAutoMacros (xlAutoClose) '運(yùn)行EXCEL關(guān)閉宏
還有很多,這個(gè)要自己慢慢摸索
1.新建一張表格,在表格中導(dǎo)入學(xué)生的成績(jī)表,如圖所示,將建立一個(gè)按鈕,通過它來實(shí)現(xiàn)查找。
2.單擊菜單欄中的“開發(fā)工具”——插入——表單控件——按鈕,在出現(xiàn)的十字箭頭上拖住畫出一個(gè)按鈕,如圖所示。
3.在彈出的查找紅對(duì)話框中選擇“錄制”,在彈出的“錄制新宏”對(duì)話框中,修改宏名稱為“查找”,單擊確定。
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:="請(qǐng)輸入要查找的值:", 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)對(duì)話框“請(qǐng)輸入要查找的值”,在方框中輸入“男”,單擊確定,出現(xiàn)對(duì)話框“查找數(shù)據(jù)在一下單元格中”,單擊確定,對(duì)應(yīng)單元格就變成了亮色。
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è)置輸出流為簡(jiǎn)體中文
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)訓(xùn)師.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(其實(shí)是其父類Control)的RenderControl方法輸出,整個(gè)DataGrid的外觀時(shí),將這些HTML代碼寫入到緩沖區(qū),同時(shí)設(shè)置一下 ContentType ,讓Excel自己的自動(dòng)糾錯(cuò)功能將這個(gè)輸出存為一個(gè)Excel文件。
很多網(wǎng)上的朋友使用了以上這種可粘貼性強(qiáng)的代碼,發(fā)現(xiàn)不好用,反映的錯(cuò)誤類似:
“LinkButton必須放在一個(gè)具有runat=server的標(biāo)簽的Form”之類的話,而更多的網(wǎng)友說:
問題很明顯,因?yàn)镈ataGrid沒有放在runat=server 的Form里面,加上就可以了。
我認(rèn)為,這種回答是很不準(zhǔn)確的,理由如下:
通常使用這種代碼的人他/她的DataGrid,最起碼已經(jīng)能用了,所以必定放在那個(gè)具有runat=server 的form標(biāo)簽里了。 報(bào)錯(cuò)是LinkButton,而不是DataGrid,很多細(xì)心的朋友很可能會(huì)說,我一直在用DataGrid,LinkButton在哪里來的。 其實(shí)真正的問題是,上面的代碼沒有加了 // * 的那幾行代碼引起的。
當(dāng)然如果你的DataGrid,沒有排序,沒有使用那種按鈕列的話,是不會(huì)出問題的。
言歸正傳,LinkButtion其實(shí)是你將DataGrid設(shè)為可排序時(shí)候,的表頭包含的,所以我要將DataGrid的排序設(shè)為False。
同樣得到上面的其實(shí),那些按鈕列,什么"編輯"、“刪除”等等這些,也是用了LinkButton,把他設(shè)為不可見就是了。
其實(shí)說得再明白一點(diǎn)就是,將有可能產(chǎn)生LinkButton,或其他控件的東西都不讓它輸出就是了
vb.net dataGridView中的數(shù)據(jù)導(dǎo)出為excel表2010-03-01 15:03在form1窗體里添加一個(gè)dataGridView1(根據(jù)自己是使用情況要給他命名,符合命名規(guī)范喲。)在添加一個(gè)Button1(命名)。記著,dataGridView的屬性里有一個(gè)allowUsersToAddRows,要設(shè)置成FALSE。否則會(huì)發(fā)生一個(gè)錯(cuò)誤,當(dāng)然錯(cuò)誤是什么你自己試一下就ok了。
還有一點(diǎn)要注意:因?yàn)槟阋玫絜xcel表,所以要首先在項(xiàng)目里添加引用喲:項(xiàng)目(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的編號(hào)列(這里也可以不要)
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控件,放一個(gè)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)需要的屬性即可
文章標(biāo)題:vb.net電子表格 vb做表格
本文來源:http://jinyejixie.com/article32/dossgsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、建站公司、標(biāo)簽優(yōu)化、網(wǎng)站改版、Google、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)