I can convert a dat file (from margrets db class) to a CSV file shown. I was wondering is there a way to save to a CSV with more than 1 worksheet? it's be nice to have worksheet1 in excel as income, worksheet 2 in excel as expenses. That way the person doesn't have to have 2 separate CSV files to open up? Maybe database1.dat becomes worksheet 1 and database 2.dat becomes worksheet 2. The CSV probably would need to have it's own name.
Any one? Bueller?
Any one? Bueller?
B4X:
Sub Button4021_Click
'---------------------------------------------------
If File.Exists(File.DirRootExternal, "/Saved/PDTK/Databases/dbIncome.dat") = True Then
ExportToCSVIncome 'SR
ToastMessageShow("Conversion of dbIncome.Dat to dbIncome.CSV complete. Now ready to E-Mail.", True)
Else
ToastMessageShow("Can not convert." & CRLF & "dbIncome.Dat doesn't exist." & CRLF & "Try 'Add Income' and then 'Save DB'.", True)
End If
'--------------------------------------------------
End Sub
Sub ExportToCSVIncome
'--------------------------------------------------------------------------
'Convert database to Excel CSV
Dim CSVList As List
CSVList.Initialize
'--------------------------------------------------------------------------
'Create header on top row of Excel CSV
Dim Header As String
For ii = 1 To db.ActiveFields
If ii < db.ActiveFields Then
Select ii
Case 1
Header = Header & "Year" & ","
Case 2
Header = Header & "Month" & ","
Case 3
Header = Header & "Weekday" & ","
End Select
'-----------------------------------------------
Else
Select ii
Case 1
Header = Header & "Year"
Case 2
Header = Header & "Month"
Case 3
Header = Header & "Weekday"
End Select
End If
Next
'-------------------------------------------
'add the row #1 with the header
CSVList.Add(Header)
'--------------------------------------------------------------------------
'Create rows for each record of database into CSV
db.FirstRecord
For i = 0 To db.Record_Count -1
Dim NewRecord As String
For ii = 1 To db.ActiveFields
If ii < db.ActiveFields Then
NewRecord = NewRecord & db.GetField("var" & ii) & ","
Else
NewRecord = NewRecord & db.GetField("var" & ii)
End If
Next
CSVList.Add(NewRecord)
db.NextRecord
Next
'--------------------------------------------------------------------------
'Save database CSV to correct folder
File.WriteList(File.DirRootExternal & "/Saved/PDTK/DataBases", "dbIncome.csv", CSVList)
'--------------------------------------------------------------------------
End Sub
Last edited: