2011年9月4日 星期日

#VB 透過外部資源匯入Excel 範例



'可能還是需要注意遺下
釋放資源問題
==================================================

[.net]vb.net匯出資料到Excel檔

先把資料寫成txt
再轉Excel
再用excel開啟,寫入格式
超快

'目前每次轉完檔案,將會出現
 目前可用檔案  對話框

好像跟正在使用的檔案有關係

卡到大魔王了

馬的一直繞不過去
猜測應該是我在TXT的時候加上 單引號
這時候他會把該段字串當作 文字
寫到EXCEL

所以打開還是會看到 單引號

而我在點兩下編輯
跳出焦點
他就會視為 將CELL轉為 文字的 單引號

用List 去抓每個值
用LOOP重新寫進去

====================================================
Excel VBA教程:OpenText方法

當透過 openText 去存成文字檔
需要設定分隔符號
該分隔符號會再轉 EXCEL 的時候
作為分隔列的 分隔字元

因為要寫入Function
會用到逗號
就改成 "^" 作為分隔符號

oExcel.Workbooks.OpenText(Filename:=txtPath, StartRow:=1, DataType:=1, _
                                      TextQualifier:=1, ConsecutiveDelimiter:=True, TAB:=False, _
                                      Semicolon:=False, Comma:=False, _
                                      Space:=False, Other:=True, OtherChar:="^", TrailingMinusNumbers:=True)
        
====================================================

Marshal.ReleaseComObject 方法


釋放com 元件
==================================================================


ADO.NET 擷取與修改利用 Visual Basic .NET 之 Excel 活頁簿中的記錄






Public Sub Use_External_Source()

      ' Open a connection to the sample Northwind Access database.
      Dim conn As New System.Data.OleDb.OleDbConnection( _
            "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & m_sNorthwind & ";")
      conn.Open()
      Dim cmd As New System.Data.OleDb.OleDbCommand()
      cmd.Connection = conn

'=======================================================================
      ' Run an INSERT..INTO command on the Northwind database to append 
      ' the records from a table/query to an existing table in the Excel 
      ' workbook.
'=======================================================================
      cmd.CommandText = "INSERT INTO [EmployeeData$] IN 'C:\ExcelData1.xls' 'Excel 8.0;'" & _
         "SELECT EmployeeID AS ID, FirstName AS Name, BirthDate FROM Employees"
      cmd.ExecuteNonQuery()

'==========================================================================
      ' Run a SELECT..INTO command on the Northwind database to insert 
      ' all the records from a table/query into a new sheet in the Excel 
      ' workbook.
'==========================================================================
      cmd.CommandText = "SELECT * INTO [Excel 8.0;Database=C:\ExcelData2.xls].[ProductSales]" & _
                      "FROM [Product Sales for 1997]"
      cmd.ExecuteNonQuery()

      conn.Close()

End Sub

沒有留言:

張貼留言