如何从Excel工作表中获取列名?

时间:2011-10-01 14:00:54

标签: c# sql excel oledb

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

示例:

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

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

谢谢你

编辑:对于一些遗漏的信息感到抱歉:

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

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

SHOW COLUMNS FROM mytable

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

答案 2 :(得分:0)

我想从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++)

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