如何使用c#检查Excel文件中的空/空格

时间:2018-02-15 12:14:42

标签: c# asp.net oledb

我已经为我的项目实现了以下代码,我从Excel文件中读取数据 并使用SqlBulkcopy插入到sql数据库中。

我现在面临Excel文件中的问题,其中在excel文件的末尾插入了一些空白(在所有数据之后)。当我将这些数据插入系统时,所有的空值都被插入。我试图只读取out为null的数据,以便我的数据库不会有空值。如果我使用db操作来停止空值,我的sqlbulk副本将停止工作。

请找到下面的代码。如果你注意到这段代码" SELECT * FROM [Sheet1 $]",我知道我必须在这里检查null,但不知道它是怎么回事。

public static string ExecuteBulkCopy(string connectionString, string TableName, string Paths)
        {

            SqlBulkCopy oSqlBulk = null;
            string error = null;
            OleDbConnection myExcelConn = new OleDbConnection
                   ("Provider=Microsoft.ACE.OLEDB.12.0; " +
                       "Data Source=" + Paths +
                       ";Extended Properties=Excel 12.0;");
            try
            {

                myExcelConn.Open();

                // GET DATA FROM EXCEL SHEET.
                OleDbCommand objOleDB =
                    new OleDbCommand("SELECT * FROM [Sheet1$] IS NOT NULL", myExcelConn);

                // READ THE DATA EXTRACTED FROM THE EXCEL FILE.
                OleDbDataReader objBulkReader = null;
                objBulkReader = objOleDB.ExecuteReader();

                using (SqlConnection cn = new SqlConnection(connectionString))
                {

                    cn.Open();
                    oSqlBulk = new SqlBulkCopy(connectionString,SqlBulkCopyOptions.FireTriggers);

                    oSqlBulk.DestinationTableName = TableName; // TABLE NAME.
                    oSqlBulk.WriteToServer(objBulkReader);
                    // return 1;

                    //call the overload that takes a connection in place of the connection string
                    // return ExecuteNonQuery(cn, commandType, commandText, commandParameters);
                }
            }
            catch (Exception ex)
            {
                error = ex.Message;
            }
            finally
            {
                oSqlBulk.Close();
                oSqlBulk = null;
                myExcelConn.Close();
                myExcelConn = null;
            }
            return error;
        }

0 个答案:

没有答案