05-06-2024 06:02 AM
05-06-2024 08:23 AM
Here's an example to get you started.
'main
ConvertMT940ToCSV("path_to_MT940_file.sta", "output.csv")
'class functions
Private Sub WriteToCSV(transactions As List(Of String), filePath As String)
Using writer As New StreamWriter(filePath)
writer.WriteLine("Date,Credit/Debit,Amount") ' CSV Header
For Each transaction As String In transactions
writer.WriteLine(transaction)
Next
End Using
End Sub
Private Function ParseTransaction(transactionLine As String) As String
' Simplified parsing: Extract date and amount as example
Dim pattern As String = "^\:61\:(\d{6})(C|D)(\d+,\d{0,2})"
Dim match As Match = Regex.Match(transactionLine, pattern)
If match.Success Then
Dim dateValue As String = match.Groups(1).Value
Dim creditDebit As String = match.Groups(2).Value
Dim amount As String = match.Groups(3).Value.Replace(",", ".") ' Change comma to dot for CSV
Return $"{dateValue},{creditDebit},{amount}"
End If
Return String.Empty
End Function
05-06-2024 08:23 AM
Here's an example to get you started.
'main
ConvertMT940ToCSV("path_to_MT940_file.sta", "output.csv")
'class functions
Private Sub WriteToCSV(transactions As List(Of String), filePath As String)
Using writer As New StreamWriter(filePath)
writer.WriteLine("Date,Credit/Debit,Amount") ' CSV Header
For Each transaction As String In transactions
writer.WriteLine(transaction)
Next
End Using
End Sub
Private Function ParseTransaction(transactionLine As String) As String
' Simplified parsing: Extract date and amount as example
Dim pattern As String = "^\:61\:(\d{6})(C|D)(\d+,\d{0,2})"
Dim match As Match = Regex.Match(transactionLine, pattern)
If match.Success Then
Dim dateValue As String = match.Groups(1).Value
Dim creditDebit As String = match.Groups(2).Value
Dim amount As String = match.Groups(3).Value.Replace(",", ".") ' Change comma to dot for CSV
Return $"{dateValue},{creditDebit},{amount}"
End If
Return String.Empty
End Function
05-07-2024 02:11 AM
Thanks for sharing the code.
05-16-2024 07:35 AM - edited 05-16-2024 08:08 AM
I am getting one issue If my pattern comes from different code example 20, 25 codes, I am unable to write that transaction in single line. Have you encountered the same?
05-06-2024 02:10 PM
05-07-2024 02:09 AM
Hi Krishna - Yes, I did. Its only for BAI file format and works on version 8.