A. VB中導出數據到EXCEL問題,求高手解答.
給你個脊飢函數吧,原創第一次發布
Public Sub MSFlexGridToOldExcel(MMSFlexGrid As MSFlexGrid, ByVal ExcelFileName As String, ByVal StartRowNumber As Integer, ByVal StartColNumber As Integer)
Dim i As Integer
Dim j As Integer
ReDim aa(MMSFlexGrid.Rows, MMSFlexGrid.Cols) As Single
For i = 1 To MMSFlexGrid.Rows
For j = 1 To MMSFlexGrid.Cols
aa(i, j) = MMSFlexGrid.TextMatrix(i - 1, j - 1)
Next j
Next i
Dim XlApp As New Excel.Application
Dim XLWorkBook As New Excel.Workbook
Dim XLWorkSheet As New Excel.Worksheet
Set XLWorkBook = XlApp.Workbooks.Open(ExcelFileName)
Set XLWorkSheet = XLWorkBook.Sheets(1)
XLWorkSheet.Range(XLWorkSheet.Cells(StartRowNumber, StartColNumber), XLWorkSheet.Cells(MMSFlexGrid.Rows + 1, MMSFlexGrid.Cols + 1)).Value = aa
' XlApp.Visible = True'如果要顯示出來的話使用這行則敏
XlApp.Visible = False '如果不顯示出來的話使用這行
XlApp.DisplayAlerts = False '如果不顯示出來的話使用這行
XLWorkBook.Save '如果不顯示出來的話使用這行
XlApp.Quit '如果不顯示出來的話使孫野枝用這行
Erase aa
End Sub
使用:
Private Sub Command1_Click()
FName = App.Path & "\99.xls"
MSFlexGridToOldExcel MSFlexGrid1, FName, 1, 1
End Sub
B. VB 從SQL資料庫中把數據導出到Excel表格中,怎麼寫
SubdataToExcel()
DimconnAsString
DimrsAsNewADODB.Recordset
DimexcelAsObject
DimworkbookAsObject
DimsheetAsObject
Dimi&,j&
啟畢'SQL資料庫的連接字串
conn="Provider=SQLOLEDB.1;Datasource=伺服器地址;initialcatalog=資料庫名稱;UserId=資料庫登錄賬號;Password=資料庫登錄賬號"耐扒
'打開到sql的連接,讀取xxx表數據到rs
rs.Open"select*fromxxx",conn,adOpenKeyset,adLockReadOnly
'excel對象、工作簿、工作表
悄畝芹Setexcel=CreateObject("Excel.Application")
Setworkbook=excel.workbooks().Add()
Setsheet=workbook.sheets(1)
excel.Visible=True
'循環讀取rs並寫入到excel
Fori=1Tors.Fields.Count
j=1
rs.MoveFirst
DoWhileNotrs.EOF
sheet.cells(j,i)=rs.Fields(i-1).Value
rs.MoveNext
j=j+1
Loop
Next
rs.Close
Setrs=Nothing
EndSub
C. 將vb中資料庫的內容導出到excel中
你看下是報錯還是導不進去
1. 報渣畝錯的話是EXCEL程序未關閉,即你在對已打開的EXCEL文件進行操作吵伏,可以編寫強制關閉進程的代碼結束第一次的EXCEL程序,用On Error Resume Next 來屏蔽程序結束的錯誤警告。如碰森
2. 如果是數據不進去,程序是對的無報錯,請關閉ADODC,重新定位連接使用Adodc1.Refresh來刷新數據。
D. vb怎麼把數據輸出到excel裡面,有大量的數據
最簡單的辦法:
open "a.xls" for output as #1
print #1, "姓名", vbTab,"學號", vbTab,"總分"
print #1, "張三", vbTab,1, vbTab,88
print #1, "李四", vbTab,2, vbTab,99
close #1
這樣的文件可以雙擊在EXCEL裡面打開喚敬仿,但是和纖不能設置復稿行雜的格式。
E. vb導出到excel
Option Explicit
Private Sub Form_Load()
Dim i As Long, j As Long
Me.MSHFlexGrid1.Rows = 2000
Me.MSHFlexGrid1.Cols = 10
For i = 0 To Me.MSHFlexGrid1.Rows - 1
For j = 0 To Me.MSHFlexGrid1.Cols - 1
Me.MSHFlexGrid1.TextMatrix(i, j) = i & "行"派笑沒 & j & "列"
Next
Next
Debug.Print Me.MSHFlexGrid1.TextArray(100)
End Sub
Private Sub cmdExport_Click()
Dim i As Long, j As Long
Dim CellsData() As String
Dim objApp As Excel.Application
Dim objWorkbook As Excel.Workbook
Dim objWorksheet As Excel.Worksheet
Dim objRange As Excel.Range
'構造二維數組
ReDim CellsData(1 To Me.MSHFlexGrid1.Rows, 1 To Me.MSHFlexGrid1.Cols)
For i = 1 To Me.MSHFlexGrid1.Rows
For j = 1 To Me.MSHFlexGrid1.Cols
CellsData(i, j) = Me.MSHFlexGrid1.TextMatrix(i - 1, j - 1)
Next
Next
'導出到Excel中
Set objApp = New Excel.Application
objApp.ScreenUpdating = False '禁止屏幕刷新
Set objWorkbook = objApp.Workbooks.Add
Set objWorksheet = objWorkbook.Sheets.Add
Set objRange = objWorksheet.Range(objWorksheet.Cells(1, 1), objWorksheet.Cells(Me.MSHFlexGrid1.Rows, Me.MSHFlexGrid1.Cols))
objRange.Value = CellsData
objApp.Visible = True
objApp.ScreenUpdating = True
'銷毀二維塵納升升數組
Erase CellsData
Me.SetFocus
MsgBox "導出完畢"
End Sub
F. 怎樣在VB中導出一個電子表格(excel)
一個按鈕,五個文本框(文本框用逗老復制方式)
dim
xlsapp
as
excel.application
dim
xlsbook
as
excel.workbook
dim
xlssheet
as
excel.worksheet
set
xlsapp
=
new
excel.application
set
xlsbook
=
xlsapp.workbooks.add
set
xlssheet
=
xlsbook.worksheets(1)
xlssheet.application.columns("a:l").numberformatlocal
=
"@"
'文山橘升本格式為通用
xlssheet.cells.horizontalalignment
=
xlcenter
'文本居中
xlssheet.columns("a:l").columnwidth
=
5
'調整列寬(從a列到l列
dim
i
as
integer
for
i
=
0
to
4
xlssheet.cells(
2,
i+
1)
=
text1(i).text
next
i
xlsapp.visible
=
true
set
xlsapp
=
nothing
自己可以研究一下上面的代碼(其中文本框用復制伍伏做數組)
G. vb.net 2008中怎樣將數據導出到excel中
如何從web頁面導入excel單元格數據、又如何把查詢出來的數據放到web頁面上顯示成客戶需要的圖表?並且導出到excel中?
有兩種方案:
1.用Excel自動化技術。
引用Excel的類型庫生成.Net的包裝類。導入時採用頁面放上傳文件按鈕的方法,在伺服器端收到文件後,用excel自動化類打開excel文件,再學會VBA語法,書寫大量的代碼讀取單元格,然後連接資料庫保存。導出時,查詢資料庫,啟動excel自動化對象,通過VBA語法填寫單元格,保存成excel文件,再用Response.OutputStream輸出到頁面上,觸發excel文件的下載保存框。缺點:容易在伺服器端產生excel死進程,代碼編寫復雜、代碼量大、還要掌握VBA語法,用戶需要上傳、下載操作
有人會說,顯示數據時可以用網頁直接顯示,不用導出成excel。其實也很麻煩:用網頁顯示復雜的報表格式,網頁設計工作量大;如果客戶要求導出excel,這個工作就省不了;如果客戶要求列印、列印預覽、頁面設置,比起excel瀏覽器的列印就捉襟見肘了。
2.用微軟Office中間件——SOAOffice。(建議使用最新版的)
用SOAOffice輸出Excel,就不會再有上述煩惱。通過SOAOffice不僅能夠動態填充excel,讀取excel單元格,而且還能在瀏覽器里直接瀏覽excel、或者下載、另存。SOAOffice提供標准C#.Net組件,組件在伺服器端不使用自動化調用,穩定支持大量web並發訪問,這是用com調用無法實現的。組件的屬性方法都比較簡單,易於調用,你完全不用去掌握復雜的VBA調用。
由於是純.Net組件,所以伺服器端不需安裝office。 SOAOffice的excel組件SOAExcel含有Sheet、Cell等類似Excel的簡化介面,調用簡單。SOAExcel不但能能把資料庫欄位值動態填充到Excel單元格,還能把用戶輸入的單元格的值提出給開發者保存到資料庫。
SOAExcel能夠在客戶端瀏覽器的網頁里通過SOAOffice直接顯示生成的Excel,用戶不必先下載再打開觀看內容。
舉個導出excel的例子:
SOAOfficeX.ExcelResponse SOAExcel = new SOAOfficeX.ExcelResponse();
SOAOfficeX.ExcelResSheet sheet1 = SOAExcel.openSheet("Sheet1"); // 打開一個Sheet
sheet1.openCell("D"+String.valueOf(8+i)).setValue(rs.getString("Count")); //循環填充數據。
SOAOfficeX.SOAOfficeCtrl SOACtrl = new SOAOfficeX.SOAOfficeCtrl(response);
SOACtrl.assign(SOAExcel); // 綁定數據
// 打開模板並生成最終的excel報表
SOACtrl.webOpen("doc/test.xls", 1, UserName, "Excel.Sheet");
上述代碼不但動態填充生成excel,而且在網頁里直接顯示生成的Excel給終端用戶,由於使用了1打開模式,Excel是只讀顯示的。
讀取excel單元格的代碼也很簡單:
SOAOfficeX.ExcelRequest SOAExcel = new SOAOfficeX.ExcelRequest();
SOAOfficeX.IExcelReqSheet sheetOrder = SOAExcel.OpenSheet("銷售訂單");
SOAOfficeX.IExcelReqCell cell1;
cell1 = sheetOrder.OpenCell("I5");//訂單編碼
string sOrderNum = cell1.Value;//cell1.Value就是讀取的結果
H. VB數據導出EXCEL
去掉這幾句
mExcelFile.SaveAs "c:\123.xls"
mExcelFile.Application.Quit
Set mExcelFile = Nothing
他們的意思是行鉛激保存,然激山後關閉。
在同位置寫入檔襪
mExcelFile.visible=true
這句意思是顯示excel文件窗口