【问题标题】:What's the syntax for the create table statement in Excel?Excel中create table语句的语法是什么?
【发布时间】:2009-08-13 14:25:54
【问题描述】:

我正在使用 ODBC,如果需要将大约 3 种不同类型的数据转储到不同的 Excel 工作表,可以使用 OLE。但是要在 excel 中使用插入语句,我认为必须首先创建表格,尤其是在表格尚不存在的情况下。

我曾经使用 sql server 2000 的导入/导出向导自动生成 create table 语句。

那么有谁知道创建语句的数据类型和语法或excel sql create 语句的好资源的位置?

【问题讨论】:

    标签: sql excel odbc


    【解决方案1】:

    在这里试试:Using SQL in VBA

    【讨论】:

    • 我无法判断 create 语句是否包含链接中的所有数据类型。
    【解决方案2】:

    为了便于查找,这里有一个来自 Leonel Martins 链接的示例:

    CREATE TABLE DataSource
    (Staff_Nox NUMBER,
    Salx CURRENCY,
    Namex TEXT,
    Boolyx BIT,
    Regionx NUMBER,
    Datex DATETIME)
    

    另外值得注意的是,对于文本和日期时间,它似乎想要将数据包装在一个特殊字符中:

    Select Case fGetCellFormat(.Cells(2, viCount))
    
        Case "TEXT"
    
            vtWrapChar = """" 
    
        Case "DATETIME"
    
            vtWrapChar = "#" 
    
        Case Else
    
            vtWrapChar = "" 
    
    End Select
    

    我可以发誓还有更多类型,比如 char 和 varchar

    【讨论】:

    • 对于您对 char 和 varchar 的评论,我似乎记得 Excel 2007+ 至少需要 NVARCHAR。我记得在进入 Excel 2007 的过程中,我总是必须在数据库 varchars 上运行 SSIS 数据转换位。
    【解决方案3】:

    在该工作表上给我的创建表语法失败并显示消息 无法修改表“数据”的设计,它是一个只读数据库。

    使用 OleDb 这行得通:

    CREATE TABLE `sheetname` (
    `DartNumber` VarChar (16)
    , `ClientId` VarChar (10)
    , `Population` VarChar (30))
    

    但由于某种原因未能使用 odbc 说只读。

    【讨论】:

      猜你喜欢
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 2018-06-06
      • 2012-07-08
      • 2021-07-29
      • 2012-12-12
      相关资源
      最近更新 更多