【问题标题】:Compare column names in excel sheet with column names in a table in SQL将 Excel 工作表中的列名与 SQL 表中的列名进行比较
【发布时间】:2013-06-13 17:12:15
【问题描述】:

我有一个包含大量列 (~500) 的 Excel 表和一个列数相似的 DB 表。我可以在数据库上运行 SQL 查询。我想要实现的是找到我的数据库表中但不在电子表格中的列。手动检查似乎效率很低。

【问题讨论】:

  • 你试过什么?您是否正在寻找可以做到这一点的代码?如果是一次性工作,手动比较可能会花费更少的时间......
  • @Revent 对于这个任务的第一部分,我做了一个相当粗略的方法。我将excel工作表中的列列表作为逗号分隔列表打开,复制了整个逗号分隔列表并运行了一个SQL查询,将其保留在选择列表中。不存在的列给出了错误。现在,我想查找表中但不在 Excel 表中的列。编程解决方案会更好,但我正在寻找能够以更好的方式完成这项工作的任何类型的黑客。
  • 应该能够使用 ADOX 来查询表的结构(或使用常规 ADO 并使用“... Where 1=0”从表中查询,这样你就可以得到空记录集)。然后,您可以比较工作表列标题和记录集字段名称。

标签: sql excel


【解决方案1】:

您是否考虑过在 excel 中使用 ODBC 功能?您应该能够在 excel 中打开表格,然后使用计数公式来确保数字匹配。

【讨论】:

    【解决方案2】:

    您可以尝试下一个半手动方法:

    1. select top 1 * from [your table]
    2. SSMS中右键查询结果,选择“Copy with headers
    3. 选择性粘贴->转置到 Excel(将行转为列)
    4. 选择现有excel中的标题,复制它们,特殊粘贴->在上一个旁边转置
    5. 对列进行排序和比较

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多