我正在修復一個C#項目,該項目使用Excel工作表和數據定義來創建SQL Server中批量插入使用的.fmt文件。OLE調用到Excel與WHERE子句
我的問題是,Excel文件有時在底部有空白行,我正在處理的C#解析器會檢測超過實際行數的containsint數據定義的行數。
因此,fmt文件在其第二行具有較大數量的行,並且批量插入在到達底部並嘗試讀取時引發異常。
例如,只有50行數據和50空白行。 fmt文件的第二行有100(第一行是SQL Server版本)。第3行至第52行是數據定義的50行。批量插入嘗試到達第53行時,它會返回一些列異常。
C#解析器使用Ace OleDB 12連接到Excel 97格式文件。
的SQL是:
var commandText = string.Format("SELECT * FROM [{0}$]", SpreadSheetName);
我試圖WHERE子句添加到SQL代碼,只選擇一個非空「A」柱行,但這不能正常工作。
SELECT * FROM [{0}$] WHERE [A] <> ''
是有辦法的命令文本可以與一些SQL代碼只能提取其中一定的條件滿足了Excel的數據行來增強?
你能顯示一些代碼嗎?你還讀了哪些數據?您可以使用DataReader逐行讀取並忽略那些爲空的。 – Derek