excel - 如何将长数字从csv导入excel而不在VBA中转换为科学记数法

标签 excel vba

我用下面的代码打开了分号分隔的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/

相关文章:

excel - 在列中搜索字符串并在连续行中打印结果

excel - 比较表格的缺失行和/或更改的条件格式

excel - 分析和更新动态表宏 VBA

vba - Word VBA 宏将特定文本字符串的所有实例的部分加粗

java - x4j-分析和带有图表的多页 Excel 报告

excel - 使一张纸上的所有数据透视表在行扩展和折叠方面相互模仿

vba - Excel VBA 循环遍历可见的过滤行

vba - 命令按钮不起作用

excel - 如何使用 Excel 将矩阵转换为单列

vba - 从 MS Access 2010 过程中运行 Excel Add In 宏时出现问题