Выходные данные записи файла изменяются от машины к машине

Я собрал программу vb.net, которая выполняет разбор строк и в конце создает файл фиксированной ширины. Когда я запускаю его на каждой из двух моих машин, он создает правильно отформатированный файл. Когда мой клиент загружает MSI-файл, устанавливает его и запускает, он получает несколько дополнительных пробелов в каждой записи файла, и количество пробелов в каждой записи несовместимо. Вот код, хотя он отлично работает на моей стороне, так что я думаю, что это может быть связано с компилятором, может быть???

'For each T2 record,
    For i = 0 To frmMain.SquirrelDataSet.PayDataExceptions.Rows.Count - 1

        frmMain.ProgressBar1.PerformStep()

        'Join Fname and Lname into FullName.
        Dim FullName As String = frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item("Lname") & "," & frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item("Fname")

        If FullName = Nothing Then
            FullName = ""
        End If
        'FullName = FullName(FullName.PadLeft(25, " "))
        FullName = FullName.PadLeft(25, " ")

        objWriter.Write(frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(0) & _
                        FullName & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(2) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(3) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(4) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(5) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(6) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(7) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(8) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(9) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(10) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(11) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(12) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(13) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(14) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(15) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(16) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(17) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(18) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(19) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(20) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(21) & _
                        frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(22) & vbCrLf)
    Next

1 ответ

Скорее всего, ваш клиент имеет дополнительные пробелы в своих данных, которых нет в ваших данных.

Вы могли бы попробовать .Trim()данные перед его записью.

Другие вопросы по тегам