我正在尝试使用C#将excel中的数据转换为JSON。接受的格式为.xls和.xlsx。 OleDbConnection用于实现此目的。 Everythig按预期工作,但我不应在标头中允许空值。我使用下面的代码来获取标题值。
dataReader.GetName(index)
如果任何标题为空白,我会获得F1,F2,F3 ..作为名称。而不是这个,我需要知道标头是否为空/空,以便我可以提示用户。
例如:与突出显示的单元格一样
以下是我的代码:
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());
请帮助!!