我用下面的代码打开了分号分隔的txt文件 保存到 Excel 后,无论该列的文本格式如何,长帐号都会显示为科学计数法。
我在这里做错了什么?
Application.ScreenUpdating = False
Workbooks.OpenText fileName:=Filetxt, Origin:=xlWindows, StartRow _
:=2, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, _
Space:=False, Other:=False, Local:=True, _
FieldInfo:=Array(Array(1, 4), Array(2, xlTextFormat)
'Save text file as csv file
Set wb = ActiveWorkbook
Application.DisplayAlerts = False
wb.SaveAs fileName:=fileXls, FileFormat:=6, _
ReadOnlyRecommended:=False, _
CreateBackup:=False
Application.DisplayAlerts = True
wb.Close savechanges:=True
txt 文件中的记录如下所示: 2011-12-21;100,00;“21375000120000010020601764”
当我打开新保存的文件时,我看到 2.117500012E+25 而不是那个数字。 这里出了什么问题?
最佳答案
我将产品导入 Excel 文件,条形码将以科学记数法显示(例如 5.4265E+12)
这意味着当我将文件转换为 csv 文件以上传详细信息时,csv 无法正确读取条形码并将其更改为 52862300000 等。
对抗它:
- 作为 Excel 工作表打开(如果无法作为 Excel 工作表打开,则进行转换)
- 突出显示(条形码/科学记数法)列
- 进入数据/文本列
- 第 1 页:选中“分隔符”/下一页
- 第 2 页:选中“选项卡”并将“文本限定符”更改为“/下一页”
- 第 3 页:选中“文本”而不是“常规”
- 完成
这应该将它们全部转换为显示为长数字。然后,您可以将其另存为 CSV 文件,并且数字不会转换/格式化为科学数字。
希望这有帮助!!
关于excel - 如何将长数字从csv导入excel而不在VBA中转换为科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13732077/