jiangyuxuan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
Excel内容读入到datagridview中
2007年05月26日 星期六 下午 08:05

public const string EXCELCONNECTION = "Provider=Microsoft.Jet.OLEDB.4.0;"
             + " Extended Properties='Excel 8.0;"
             + " HDR=YES';";

         public const string EXCEL_FILTER = "Microsoft Office Excel 工作簿 (﹡.xls)|*.xls";

         #endregion

 

         /// <summary>
         /// 将Excel文件的数据导出到DataTable
         /// </summary>
         /// <param name="strExcelFileName">Excel 文件名</param>
         /// <param name="dt">out参数,返回DataTable</param>
         /// <param name="strError">out参数,返回出错信息</param>
         /// <returns>
         ///     -1 出错
         ///      0   成功
         /// </returns>
         /// 注:本函数目前只导出Sheet1$表的数据
         public static int Excel2DataTable(string strExcelFileName,
             out DataTable dt,
             out string strError)
         {
             strError = "";
             int nRet = 0;
             dt = null;

             if (String.IsNullOrEmpty(strExcelFileName) == true)
             {
                 strError = "strExcelFile参数不能为空";
                 return -1;
             }

             if (File.Exists(strExcelFileName) == false)
             {
                 strError = "文件'" + strExcelFileName + "'不存在";
                 return -1;
             }

             // 执行导出数据
             string strConnection = ExcelADOUtil.EXCELCONNECTION
                     + "Data Source=" + strExcelFileName + ";";
             OleDbConnection connection = new OleDbConnection(strConnection);
             connection.Open();
             try
             {
                 //-----------------------------------
                 string strCommand = "SELECT * FROM [Sheet1$]";

                 OleDbDataAdapter adapter = new OleDbDataAdapter(strCommand, connection);
                 dt = new DataTable();
                 int nCount = adapter.Fill(dt);

                 //-------------------------------------
             }
             catch (Exception ex)
             {
                 strError = ex.Message;
                 return -1;
             }
             finally
             {
                 connection.Close();
             }

             return 0;
         }

posted on 2007-07-08 18:33  江宇旋  阅读(462)  评论(1编辑  收藏  举报