Я хочу скопировать таблицу в Excel, используя Microsoft.Office.Interop.Excel. Мой Excel на испанском языке с "," в качестве десятичного разделителя
Код:
Dim nSheet as integer = 1
Dim measureFile As String, measureFileText As String
Dim measureFilesPath as string = "E:\Test\"
objApp = New Microsoft.Office.Interop.Excel.Application
objBook = objApp.Workbooks.Open(_myFileName)
//'objApp.Visible = True
objSheets = objBook.Worksheets
objSheets(nSheet).activate()
objSheets(nSheet).Range("E1:E211").NumberFormat = "0,000"
objSheets(nSheet).Range("A1").Select()
measureFile = measureFilesPath & "test.txt"
measureFileText = My.Computer.FileSystem.ReadAllText(measureFile, System.Text.Encoding.UTF8)
//' Clear and copy a measureFileText to clipboard
Clipboard.Clear()
Clipboard.SetText(measureFileText)
Thread.Sleep(500)
//'Paste the measureFileText to sheet
objSheets(nSheet).Paste()
Данные моей таблицы находятся в файле test.txt как этот
Данные
840 8754 834 3,66 0,965 0,31
850 8864 849 3,82 0,979 0,32
860 8974 856 3,89 0,984 0,33
870 9084 864 3,97 0,999 0,33
880 9195 879 4,12 1,018 0,34
890 9305 886 4,21 1,023 0,35
900 9415 893 4,3 1,038 0,36
910 9525 908 4,47 1,048 0,37
Я использую буфер обмена для вставки данных, но мне не удалось правильно получить ячейку со значениями больше 1000.
850 8864 849 3,82 0,979 0,32
860 8974 856 3,89 0,984 0,33
870 9084 864 3,97 0,999 0,33
880 9195 879 4,12 1018,000 0,34
890 9305 886 4,21 1023,000 0,35
900 9415 893 4,3 1038,000 0,36
910 9525 908 4,47 1048,000 0,37
или эту
850 8864 849 3,82 0,979 0,32
860 8974 856 3,89 0,984 0,33
870 9084 864 3,97 0,999 0,33
880 9195 879 4,12 1.018 0,34
890 9305 886 4,21 1.023 0,35
900 9415 893 4,3 1.038 0,36
910 9525 908 4,47 1.048 0,37
ЕслиЯ открываю новую книгу в Excel и вставляю скопированную таблицу из файла .txt, она работает нормально.
Даже если я остановлю отладку, после копирования таблицы в буфер обмена и вставки ее в другую книгу, она работает хорошо.Если я изменю свою программу, чтобы она была видна, лист Excel и вставка вручную работают нормально.
Может кто-нибудь дать мне идею, чтобы решить эту проблему?