我正在使用
问题在于对我而言,
具体的错误消息是:
SqlDataReader
写一个包含多个工作表的Excel工作簿。每个工作表都有页眉、正文和页脚,因此我在while循环内部嵌套了另一个while循环。问题在于对我而言,
reader.Read()
从未返回false,因此eof永远不会被设置为false。当文件结束时,尝试编写页眉时会出现错误,因为读取器为空。具体的错误消息是:
请查看我的代码,如果可以请提供帮助。没有数据可供读取。
reader = cmd.ExecuteReader();
bool eof = false;
bool first = true;
while (!eof)
{
// write a header
// set newHeaderCondition from the Reader -- error occurs here
if (first)
{
reader.Read();
first = false;
}
do
{
// write row onto spreadsheet
eof = reader.Read(); ---- THIS IS NEVER FALSE
} while (!eof && (reader[0] == newHeaderCondition ));
// write footer that doesn't contain any reader data
if (!eof )
{
// create a new worksheet
}
}
reader.Close();