//    2.以数据库方式打开并输入数据
//      此方式将xls文件所在目录看作数据库,其中的xls文件看作数据库表,表名即文件名(不加扩展名)。
//      函数importExcelToDataSet(string FilePath,string sheet)功能:从xls中读出数据到DataSet中,并返回DataSet对象。

private DataSet importExcelToDataSet(string FilePath/*即文件目录的路径*/, string sheet/*表名即文件名(不加扩展名)*/)
        {

string strConn;

string getsheet;

getsheet = "SELECT * FROM [" + sheet + "]" ;

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";Extended Properties=Excel 8.0;";

OleDbConnection conn = new OleDbConnection(strConn);

OleDbDataAdapter myCommand = new OleDbDataAdapter(getsheet, strConn);

DataSet myDataSet = new DataSet();

try
            {

myCommand.Fill(myDataSet);

}

catch (Exception ex)
            {

MessageBox.Show("该Excel文件的工作表的名字不正确," + ex.Message);

}

return myDataSet;

}

/// <summary>
        /// C#中获取Excel文件的第一个表名 
        /// Excel文件中第一个表名的缺省值是Sheet1$, 但有时也会被改变为其他名字. 如果需要在C#中使用OleDb读写Excel文件, 就需要知道这个名字是什么. 以下代码就是实现这个功能的:
        /// </summary>
        /// <param name="excelFileName"></param>
        /// <returns></returns>
        public static string GetExcelFirstTableName(string excelFileName)
        {
            string tableName = null;
            if (File.Exists(excelFileName))
            {
                using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet." +
                  "OLEDB.4.0;Extended Properties=\"Excel 8.0\";Data Source=" + excelFileName))
                {
                    conn.Open();
                    DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    tableName = dt.Rows[0][2].ToString().Trim();
                }
            }
            return tableName;
        }

最新文章

  1. TortoiseSvn客户端出现Http state 405 &#39;Method Not Allowed&#39; 的解决办法
  2. 【树状数组套权值线段树】bzoj1901 Zju2112 Dynamic Rankings
  3. Sitecake – 可视化编辑,所见即所得的 CMS
  4. paper 7:支持向量机系列四:Outliers —— 介绍支持向量机使用松弛变量处理 outliers 方法。
  5. C# list 筛选FindAll,根据参数过滤
  6. CSS3弹性盒模型布局模块介绍
  7. CSS自学笔记(1):CSS简介
  8. html相关介绍
  9. 关于Two-Pass标记连通域个数
  10. CentOS 安装Chrome
  11. “XcodeGhost”病毒之后,苹果更应注…
  12. @Html.Partial 和 @Html.RenderPartial 异同
  13. was设置事务超时
  14. 在Java中执行Tomcat中startup.bat
  15. MySQL普通用户无法本地登录的解决方法及MySQL的用户认证算法
  16. Jenkins-pipeline
  17. TI(德州仪器) TMS320C674x逆向分析之二
  18. django 接口
  19. 【DevExpress v17.2新功能预告】DevExpress ASP.NET Scheduler新的自适应功能
  20. rsync + inotify 实时同步

热门文章

  1. 常用模块---sys&amp;logging&amp;序列化模块(json&amp;pickle)
  2. P3437 [POI2006]TET-Tetris 3D
  3. 跨平台移动开发_PhoneGap 使用Accelerometer 加速器
  4. iOS APP AppIcon&amp; LaunchImage
  5. 【FINAL】NOI
  6. 深入理解Servlet3.0异步请求
  7. XML文件解析-DOM4J方式和SAX方式
  8. [JSOI2016]灯塔
  9. spring boot: @EnableScheduling开启计划任务支持,@Scheduled计划任务声明
  10. jsonp: js跨域