| |
VB.NET - Ein- und UmsteigerNPOI erstellt excel falsch | | | Autor: lesat | Datum: 05.03.15 11:50 |
| Hallo zusammen,
und zwar verzweifle ich gerade an NPOI. Ich will mit NPOI ein Excel befüllen bzw. erstellen und habe das Problem das immer nur die letzte Spalte gefüllt wird. Habe schon einiges versucht und mir auch andere Projekte in der Firma angesehen die mit NPOI arbeiten die machen das genau so wie ich (nur halt eben komplexer). Habe auch die Kollegen um Rat gefragt die sich mit NPOI besser auskennen und die wissen auch keinen Rat. Sobald ich eine Spalte aus dem Datatable lösche schreibt er mir die zuvor vorletzte Spalte in das Excel. An den For-Schleifen kanns nicht liegen da hab ich auch schon alles erdenklich ausprobiert. Genauso habe ich die einzelnen Zellen ausgelesen im Objekt testsheet sind die Daten definitiv vorhanden, nur eben im Excel nicht. Problem besteht nur mit NPOI-Versionen 2.xxx oder höher. Mit älteren funktionierts, bei denen wiederrum andere Dinge fehlen, also umstieg auf ne ältere Verion kommt nicht in Frage.
Hoffe ihr könnt mir helfen.
Hier noch das Ergebnis was in Excel bei rauskommt: http://www.bilderhost.eu/display-i9330bcybwr.html
Imports System.IO
Imports NPOI.XSSF.UserModel
Imports NPOI.HPSF
Imports NPOI.XSSF.Util
Imports NPOI.POIFS.FileSystem
Imports System.Data.Common
Imports System.Data.SqlClient
Imports System.Windows.Forms
Imports NPOI.SS.UserModel
Imports NPOI.SS
Imports System.Text.RegularExpressions
Public Class Form1
Dim testtable As New DataTable
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
Handles Button1.Click
Dim rownumber As Integer = 3
Dim column As Integer = 0
Dim oExcelworkbook As IWorkbook = New XSSFWorkbook(New FileStream( _
My.Settings.Templatexls, FileMode.Open, FileAccess.Read))
Dim oFontLarge As XSSFFont = oExcelworkbook.CreateFont()
oFontLarge.FontName = "Arial"
oFontLarge.FontHeightInPoints = 10
'oFontLarge.Color = 13
Dim testStyle As XSSFCellStyle
testStyle = oExcelworkbook.CreateCellStyle()
testStyle.SetFont(oFontLarge)
Dim testsheet As XSSFSheet = oExcelworkbook.GetSheet("Testblatt")
For Each row As DataRow In testtable.Rows
testsheet.CreateRow(rownumber).CreateCell(0).SetCellValue(row( _
0).ToString)
For Each col As DataColumn In testtable.Columns
testsheet.CreateRow(rownumber).CreateCell(column).SetCellValue( _
row(column).ToString)
testsheet.GetRow(rownumber).GetCell(column).CellStyle = _
testStyle
column += 1
Next
column = 0
rownumber += 1
Next
testsheet.CreateRow(rownumber + 2).CreateCell(column).SetCellType( _
NPOI.SS.UserModel.CellType.Formula)
testsheet.GetRow(rownumber + 2).GetCell(column).SetCellFormula("SUM(" & _
"A3:" & "A6)")
testsheet.CreateRow(rownumber + 2).CreateCell(column + 1).SetCellValue( _
"test1")
testsheet.CreateRow(rownumber + 2).CreateCell(column + 2).SetCellValue( _
"test2")
Dim savefiledialog1 As New SaveFileDialog()
savefiledialog1.DefaultExt = "xlsx"
savefiledialog1.Filter = "xlsx|*.xlsx"
savefiledialog1.Title = "Save Excel File"
Dim result As DialogResult = savefiledialog1.ShowDialog()
If (result = DialogResult.OK) Then
Dim oFileStream As FileStream = System.IO.File.Create( _
savefiledialog1.FileName)
oExcelworkbook.Write(oFileStream)
oFileStream.Close()
Else
MsgBox("Speichervorgang abgebrochen")
End If
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
Handles MyBase.Load
testtable.Columns.Add("Alter")
testtable.Columns.Add("Name")
testtable.Columns.Add("wohnort")
testtable.Columns.Add("Beschreibung")
testtable.Rows.Add("34", "Torsten", "Bluebanana", "idm")
testtable.Rows.Add("42", "Michael", "hohes Ross", "Chef")
testtable.Rows.Add("32", "Patrick", "Busbahnhof", "DVD")
testtable.Rows.Add("31", "Sebasitan", "Olymp", "Arschkarte")
testtable.Rows.Add("52", "Berthold", "Chefsessel", "Profi")
DataGridView1.DataSource = testtable
DataGridView1.AutoGenerateColumns = True
End Sub
End Class | |
Re: NPOI erstellt excel falsch | | | Autor: lesat | Datum: 05.03.15 12:41 |
| 2 Tage Verzweiflung, dann macht man sich die Mühe nen Forenpost zu schreiben und 5min danach kommt man auf die Lösung.
kann geclosed werden. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|