【问题标题】:How can I get the column names from an Excel sheet?如何从 Excel 工作表中获取列名?
【发布时间】:2011-10-03 14:29:31
【问题描述】:

我有一个数据库表。是否有获取表中列名的查询?

例子:

Name || Age || Gender
Tom  || 30  || male
Kate || 20  || Female

我想要一个查询来获取列名:Name , Age, Gender

谢谢你

编辑:抱歉,有些信息缺失:

我在 C# 中使用 OleDB 连接从 Excel 工作表中读取数据

【问题讨论】:

  • 这取决于您使用的 dbms。 MSSQLSERVER、甲骨文、MySQL?请在标签中注明。
  • 我有一个 Excel 表,我正在使用 OleDB 连接从中读取数据。希望这就是你的意思
  • There's a sample here 通过OleDbConnection从 Excel 获取列名

标签: c# sql excel oledb


【解决方案1】:

您可以检索表中的列列表,例如:

select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'YourTable'

INFORMATION_SCHEMA 是一个 ISO 标准,因此它适用于大多数数据库。

【讨论】:

    【解决方案2】:

    我相信你在 SHOW COLUMNS 查询之后。

    SHOW COLUMNS FROM mytable
    

    更多信息:http://dev.mysql.com/doc/refman/5.0/en/show-columns.html

    【讨论】:

      【解决方案3】:

      我想从 Excel 上传表格的列,所以我将表格上传到数据集中,然后检查列名并插入数据库。你可以从下面的代码中得到一个想法

      for (int i = 0; i < dsUpload.Tables[0].Columns.Count; i++)
                          {
                              if (dsUpload.Tables[0].Columns[i].ColumnName.ToString() != "")
                              {
                                  // Assigning ColumnName
                                  objExcelUpload.ColumnName = dsUpload.Tables[0].Columns[i].ColumnName.ToString().Replace("'", "''").Replace("<", "&lt;").Replace(">", "&gt;").Trim();
                                  if (!objExcelUpload.ifColumnNameExist("insert"))
                                  {
                                      if (objExcelUpload.ColumnName != "")
                                      {
                                          objExcelUpload.insertColumns();    
                                      }
      
                                  }
                                  else
                                  {
                                      ErrorLabel.Text = "The column name already exists. Please select a different name.";
                                      return;
                                  }
      
                              }
                          }
      

      这里 ds Upload 是一个数据集名称 对你有用的代码是

      objExcelUpload.ColumnName = dsUpload.Tables[0].Columns[i].ColumnName.ToString()
      

      在所有可用列的循环中检查

      for (int i = 0; i < dsUpload.Tables[0].Columns.Count; i++)
      

      如果您需要任何澄清,请告诉我 :-)

      【讨论】:

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