首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DB Csv导出和Excel数字格式

问DB Csv导出和Excel数字格式
EN

Stack Overflow用户
提问于 2021-03-17 17:06:21
回答 2查看 78关注 0票数 0

我正在从DB中以csv格式导出一个表。我有以04596开头的数字,例如04596或059438。如果我在LibreOffice或Excel中打开这个csv,0将被丢弃,数字显示为4596和59438。我将数字导出为文本,如果我在notepad++中打开csv文件,那么0都在那里。

有没有办法使数字在文件中可见?

EN

回答 2

Stack Overflow用户

发布于 2021-03-17 17:36:06

当您在Calc中手动打开CSV文件时,您会看到文本导入过滤器设置窗口。请不要着急点击OK,不要跳过这一步!

选择不应被识别为数字,但应保留带有前导零的文本的列,并将其类型指定为文本。还要为其余列设置正确的类型。可以为不需要的列指定隐藏。检查其余参数的状态-代码页、语言、文本字段的引号类型等。

​

​

现在点击OK。确保导入如您预期的那样进行。

现在运行这个简单的宏

代码语言:javascript
复制
Sub getMeCode
Dim oDoc As Variant
Dim aArgs As Variant
Dim sResult As String
Dim sTemp As String
    oDoc = ThisComponent
    aArgs = oDoc.getArgs()
    sTemp = getValArg(aArgs, "URL")
    sResult = "Dim sUrl As String, oDoc As Variant" + Chr(10) + "sUrl = convertToURL(""" + convertFromURL(sTemp) +""")" + Chr(10)
    sResult = sResult + "Dim OpenProp(1) as New com.sun.star.beans.PropertyValue" + Chr(10)
    sResult = sResult + "OpenProp(0).name=""FilterName""" + Chr(10)
    sResult = sResult + "OpenProp(1).name=""FilterOptions""" + Chr(10)
    sTemp = getValArg(aArgs, "FilterName")
    sResult = sResult + "OpenProp(0).value=""" + sTemp + """" + Chr(10)
    sTemp = getValArg(aArgs, "FilterOptions")
    sResult = sResult + "OpenProp(1).value=""" + sTemp + """" + Chr(10)
    sResult = sResult + "If Not FileExists(sUrl) Then Exit Sub" + Chr(10)
    sResult = sResult + "oDoc = stardesktop.LoadComponentFromURL(sUrl, ""_blank"",0, OpenProp())"
    MsgBox(sResult,0,"Select, Press Ctrl+C and Paste to macro")
End Sub

此宏使用getValArg帮助器函数,以下是其文本

代码语言:javascript
复制
Function getValArg(aArg As Variant, sNameArg As String) As Variant
Dim i As Long
Dim tmp As Variant
    getValArg = ""
    For i = LBound(aArg) To UBound(aArg)
        tmp = aArg(i)
        If UCase(tmp.Name) = UCase(sNameArg) Then
            getValArg = tmp.Value
            Exit Function
        EndIf
    Next i
End Function

因此,您将收到这样一条消息。

​

​

注意带下划线的行。如果只对文件使用这样的参数(不管在Calc中打开文件所使用的编程语言是什么),那么在大多数情况下结果都是正确的。

票数 1
EN

Stack Overflow用户

发布于 2021-03-17 17:12:10

将其转换为字符串,如:echo "'".$number."'";

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66669962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档