Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skapa Excelblad från visual basic 2005

Postades av 2007-08-22 00:35:20 - Torgny Vernersson, i forum vb.net, Tråden har 4 Kommentarer och lästs av 918 personer

Hej,

Jag ska skriva ett program som ska läsa in lite olika filer från ett tiotal olika andra program, sedan ska programmet bearbeta all denna data för att sedan skapa ett excelblad som en resultatfil som sedan kan skickas till kund.

Och jag har skrivit en heldel i tidigare VB men aldrig sparat resultatet i excelfil direkt, och det ska inte bara in värden i kolumner utan jag ska även skapa olika kurver i excelbladet.

Så min fråga är om någon skulle kunna ge lite olika exempel på kod som skapar olika excelblad som man kan testa och prova eller har ideer om var jag kan hitta dylig information.

Mvh
Torgny Vernersson


Svara

Sv: Skapa Excelblad från visual basic 2005

Postades av 2007-08-22 13:08:30 - Lars-Erik Eriksson

Rakt ur hjärtat utan syntaxkontroll:

Antar att du menar VB.NET!
Dim xl as Excel.Application
dim wbk as Excel.Workbook

'Skapa instans av Excel
xl=New Excel.Application

'Skapa en arbetsbok
wbk=xl.workbooks.add

'Lägg till ett kalkylblad
wbk.Worksheets.add

' Skriv data till arbetsbokens andra kalkylblad
wbk.Worksheets(2).Range("A1").value="Test"


Svara

Sv:Skapa Excelblad från visual basic 2005

Postades av 2007-08-22 16:40:12 - Tomas Granlund

Bara som en parentes - det kan vara lite joxigt att få Excel att stängas ner korrekt från en .NET-klient, beroende på att wrappern mellan .NET-klienten och COM-objektet för Excel håller reda på hur många referenser som gjorts till COM-objektet och vägrar släppa det förrän antalet referenser är noll (om jag förstått det hela rätt).

Antalet referenser räknas upp när man gör nåt i stil med "foo = bar.<b>workbooks</b>.add" och räknar ner när man kör System.Runtime.InteropServices.Marshal.ReleaseComObject() -- förutsatt att man har ett objekt att köra den på.

Läsning:
support.microsoft.com/default.aspx?scid=kb;en-us;317109

Så här skulle man kunna tänka sig en början till en klass för att hantera exceldokument:

Public Class ExcelDocument
    Implements IDisposable

    Private myExcelApp As Excel.Application
    Private myExcelDoc As Excel.Workbook
    Private mySheet As Excel.Worksheet
    Private myCells As Excel.Range

    Public Sub New()
        Dim theExcelDocs As Excel.Workbooks
        Me.myExcelApp = New Excel.Application
        Me.myExcelApp.Visible = False
        theExcelDocs = myExcelApp.Workbooks
        Me.myExcelDoc = theExcelDocs.Add
        ReleaseCOMObject(theExcelDocs)
        theExcelDocs = Nothing
        Me.mySheet = DirectCast(Me.myExcelApp.ActiveSheet, Excel.Worksheet)
        Me.myCells = Me.mySheet.Cells
    End Sub

	Private Shared Sub ReleaseCOMObject(ByVal anObject As Object)
		Try
			System.Runtime.InteropServices.Marshal.ReleaseComObject(anObject)
		Catch ex As Exception
		Finally
			anObject = Nothing
		End Try
	End Sub

	Private disposedValue As Boolean = False        ' To detect redundant calls
    Protected Overridable Sub Dispose(ByVal disposing As Boolean)
        If Not Me.disposedValue Then
            If disposing Then
                ReleaseCOMObject(Me.myCells)
                Me.myCells = Nothing
                ReleaseCOMObject(Me.mySheet)
                Me.mySheet = Nothing
                Me.myExcelDoc.Close(False)
                ReleaseCOMObject(Me.myExcelDoc)
                Me.myExcelDoc = Nothing
                Me.myExcelApp.Quit()
                ReleaseCOMObject(Me.myExcelApp)
                Me.myExcelApp = Nothing
            End If
        End If
        Me.disposedValue = True
    End Sub
End Class


Svara

Sv: Skapa Excelblad från visual basic 2005

Postades av 2007-08-22 21:28:55 - Andreas Hillqvist

Flyttade den till vb.net forumet


Svara

Sv:Skapa Excelblad från visual basic 2005

Postades av 2007-08-24 21:31:38 - Torgny Vernersson

Tack, jag ska testa en del i helgen och se om jag får till det som jag vill.

Mvh
Torgny Vernersson


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
588
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies