关于excel另存为csv文件数字的问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于excel另存为csv文件数字的问题?相关的知识,希望对你有一定的参考价值。

我需要将excel导入db2数据库中,先到把excel另存为csv格式文件才可以导入,但是对于比较长的数字。以常规格式保存会,自动变成科学计数法, 1.06E+14的样子,与数据库中的数据类型不匹配。必须是一串数字才可以。我又试着以文本和数字类型另存为。还是偶尔会变成科学计数法,此时再以数字的格式看内容发现已经自动将后面没有显示的数字变成了0,完全失去了以前的准确度。请问有什么办法,可以转换成csv后数字,表现还是一串而不是科学计数法呢?这个绝对不是,什么拉长单元格的原因。不管拉多长还是以科学计数法显示。

参考技术A 可以设置单元格格式后再保存CSV文件,假如你的数据要精确到小数点后面10位,可以把数字格式设为自定义,右边输入:#0.0?????????
如果,还要再精确,就多输入几个问号就可以了。
如果没有小数,那把格式设为#0就可以了。

Applescript Excel 2016 另存为 CSV

【中文标题】Applescript Excel 2016 另存为 CSV【英文标题】:Applescript Excel 2016 SAVE AS CSV 【发布时间】:2015-11-17 07:39:54 【问题描述】:

下面的 Applescript 在 Excel 2011 中运行良好,没有任何问题。该脚本打开一个 Excel 文件,删除一列并删除任何“,”或“;”从 Excel 文件,然后将其另存为 CSV 文件。我在 Excel 2016 中遇到的问题是在操作后将其保存为 CSV 文件的最后一块。没有保存任何内容,我没有收到任何错误。

tell application "Microsoft Excel"
activate
open theWorkbookFile #open the xls file
set theWorksheetname to name of worksheet 1 of active workbook
set theWorksheet to worksheet 1 of active workbook
activate object theWorksheet
tell application "System Events" to set visible of process "Microsoft Excel" to false
#Remove the first column
tell theWorksheet
   delete range column 1 shift shift to left
   try
       ##remove any "," and ";" from the product description and replace it with a " " instead.
       replace (range "B:B" of worksheet "Sheet1") what "," replacement " "
       replace (range "B:B" of worksheet "Sheet1") what ";" replacement " "
   end try
end tell

#Set the temp csv file to the name of of the Excel sheet followed by -TMP.csv
set theFile to theWorksheetname & "-TMP" & ".csv" as text
save as theWorksheet filename theFile file format CSV file format with overwrite #save the file in csv format and overwrite if it exist
close active workbook saving no #close the csv file without prompting user to save again
end tell

【问题讨论】:

你找到解决这个问题的方法了吗? 【参考方案1】:

我遇到了同样的问题,并设法“手动”保存为 CSV,使用 AppleScript 进行用户应该做的用户交互。

我的代码在下面...

#here you choose the name to your CSV file
set fileName to "ClearD -" & (current date) as string

#here you should have your original .XLSX file name and address to open it further
set theDoc to ((path to desktop folder as text) & "ClearD-Data.xlsx") as string


tell application "Microsoft Excel"
    activate
    open file theDoc
    delay 1

    tell application "System Events"

        keystroke "s" using command down, shift down
        delay 0.3

        tell front window of (first application process whose frontmost is true)
            click pop up button 2 of sheet 1
            delay 0.3

            #we are doing this to select CSV in the dropdown menu
            repeat 3 times

                keystroke "c"

            end repeat

            key code 36 # hit return
            delay 1

            repeat 50 times # this will delete whatever the current file name is and put fileName instead

                key code 123 using shift down

            end repeat
            delay 1

            #this will type your file name
            keystroke fileName

            delay 1
            click button "Save" of sheet 1
            --    set uiElems to entire contents # I use this command only to see what is out there for me to use and troubleshoot
        end tell
    end tell
    #now we are all good so we will close excel
    close active workbook saving no

end tell

【讨论】:

以上是关于关于excel另存为csv文件数字的问题?的主要内容,如果未能解决你的问题,请参考以下文章

Applescript Excel 2016 另存为 CSV

如何将 Excel 文件另存为 CSV? [复制]

excel另存为csv时,身份证号后4位全部变成0了, 怎么解决

关于将Excel导出成UTF-8编码的csv文件的问题?

将Excel文件另存为CSV

如何修改excel转换csv的分隔符