使用OLEDB读取Excel数据:查找空白标题单元格

时间:2015-04-16 09:35:27

标签: c# oledb export-to-excel

我正在尝试使用C#将excel中的数据转换为JSON。接受的格式为.xls和.xlsx。 OleDbConnection用于实现此目的。 Everythig按预期工作,但我不应在标头中允许空值。我使用下面的代码来获取标题值。

dataReader.GetName(index)

如果任何标题为空白,我会获得F1,F2,F3 ..作为名称。而不是这个,我需要知道标头是否为空/空,以便我可以提示用户。

例如:与突出显示的单元格一样

enter image description here

以下是我的代码:

string Import_File = "D:\\input.xls";
string Export_File = "D:\\output.txt";
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Import_File + ";" + "Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1'";
StringBuilder result = new StringBuilder("");
string sheetName = "Sheet1";        
using (OleDbConnection connection = new OleDbConnection(connString))
{
    connection.Open();
    OleDbCommand command = new OleDbCommand(string.Format("select * from [{0}]", sheetName), connection);
    using (OleDbDataReader dataReader = command.ExecuteReader())
    {
        while (dataReader.Read())
        {
            for (int i = 1; i < dataReader.FieldCount; i++)
            {
                //This is the part I am reading the header of each columns
                result.Append(dataReader.GetName(i));

                //Some other processing is done here
            }
        }
    }
}
File.WriteAllText(Export_File, result.ToString());

请帮助!!

0 个答案:

没有答案