olede读excel

        /// < summary>
        /// 根据excel的文件的路径提取其中sheet表名称
        /// /// < /summary>
        /// /// < param name="Path">Excel文件的路径< /param>
        private void GetDataFromExcelWithAppointSheetName(string Path)
        {
            try
            {
                //strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";

                //备注: "HDR=yes;"是说Excel文件的第一行是列名而不是数据,"HDR=No;"正好与前面的相反。
                //"IMEX=1 "如果列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。
                //此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
                strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + Path + ";Extended Properties=‘Excel 12.0; HDR=Yes; IMEX=1‘";

                conn = new OleDbConnection(strConn);
                conn.Open();
                //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等
                DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });
                //包含excel中表名的字符串数组
                string[] strTableNames = new string[dtSheetName.Rows.Count];
                for (int k = 0; k < dtSheetName.Rows.Count; k++)
                {
                    strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
                }

                cmbSheets.DataSource = null;
                cmbSheets.Items.Clear();
                cmbSheets.DataSource = strTableNames;
                if (strTableNames.Length == 0)
                {
                    cmbSheets.DataSource = null;
                    cmbSheets.Items.Add(" ");
                }
            }
            catch(Exception ex)
            {
                CommControl.MessageBoxEx.MessageBoxEx.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }

        }
 private void btnRead_Click(object sender, EventArgs e)
        {
            if (strConn == "" || cmbSheets.Text.Trim()=="") return;
            OleDbDataAdapter myCommand = null;
            DataTable dt = new DataTable();
            //从指定的表明查询数据,可先把所有表明列出来供用户选择
            string strExcel = "select * from [" + cmbSheets.Text + "]";
            myCommand = new OleDbDataAdapter(strExcel, strConn);
            dt = new DataTable();
            myCommand.Fill(dt);
            //绑定到界面
            dgvList.DataSource = dt;
            //LoadData(dt);
            tslState.Text = "  共" + dgvList.Rows.Count.ToString() + "条记录";
        }

参见:

http://blog.csdn.net/hxy870/article/details/8618510

时间: 2024-10-12 12:19:28

olede读excel的相关文章

遍历元组写excel,读excel文件

pip install xlrd xlwt 写excel #coding=utf-8 import xlwt workbook = xlwt.Workbook(encoding='utf-8') booksheet = workbook.add_sheet('Sheet 1',cell_overwrite_ok=True) workbook.add_sheet('Sheet 2') DATA = (('学号', '姓名', '年龄', '性别', '成绩'), (1001, 'AAAA', 23

读Excel数据Insert到MySQL

因为工作需要,所以测试一下使用Python读Excel数据到MySQL,在此记录下. #!/usr/bin/env python #coding:utf-8 import xlrd import MySQLdb import datetime xlsfile=r'C:\Users\XUWU\Desktop\data.xlsx' book = xlrd.open_workbook(xlsfile) #获取sheet的数量 count = len(book.sheets())  #设置连接数据库 d

php操作EXCLE(通过phpExcle实现读excel数据)

<?phprequire_once('/PHPExcel/Reader/Excel2007.php');$objReader = new PHPExcel_Reader_Excel2007;$PHPExcel = $objReader->load('testExcel.xls'); /** * 读取excel文件中的第一个工作表 */$currentSheet = $PHPExcel->getSheet(0);/** * 取得最大的列号 */$allColumn = $currentSh

python 读 excel 模块: xlrd

主要来自:[ python中使用xlrd.xlwt操作excel表格详解 ] 为了方便阅读, 我将原文两个模块拆分为两篇博文: [ python 读 excel 模块: xlrd ] [ python 写 excel 模块: xlwt ] xlrd 基本操作 这个过程有几个比较麻烦的问题,比如读取日期.读合并单元格内容. 读一个有2个 sheet 的 excel 文件, 读入sheet2的内容, 内容如下: 使用 python 读入 #!/usr/bin/env python # -*- cod

python学习笔记-day7-2-【python从mysql数据库导数据到excel,读excel,修改excel】

这节说下如何用python把数据库里的数据导出到excel里,并如何读取excel, 修必excel等操作. 一.用python把数据库里的数据导出到excel里 1.导入如下的模块,没有的话需要安装 import pymysql #mysql连接模块import xlwt #写excel的第三方库 从数据库导数据,写到excel文件里 import pymysql,xlwt def export_excel(table_name): import pymysql host, user, pas

操作excel(读excel、修改excel)

练习 需求:只要你传入一个表名,就能把所有的数据导入出来,字段名是excel的表头 1.要动态获取到表的字段 cur.description能获取到表的字段 fileds = [ filed[0] for filed in cur.description ] 2.获取数据了  select * from "%s"  % table_name 3.循环写入excel import pymysql,xlwt def export_excel(table_name): host, user,

读Excel表格的两个函数ALSM_EXCEL_TO_INTERNAL_TABLE、KCD_EXCEL_OLE_TO_INT_CONVERT

KCD_EXCEL_OLE_TO_INT_CONVERT 与 ALSM_EXCEL_TO_INTERNAL_TABLE 都是 ABAP 中常用的读取EXCEL文件的函数.这两者最大的区别在于 KCD_EXCEL_OLE_TO_INT_CONVERT 中对单元格值最大长度限制为 32,ALSM_EXCEL_TO_INTERNAL_TABLE 对单元格值最大长度限制为 50. 1.KCD_EXCEL_OLE_TO_INT_CONVERT用法如下: **从已知文件名读入内表 *  CALL FUNCT

python 模块openpyxl读excel文件

使用openpyxl模块来读取excel. 先看一下操作前的excel是什么样子吧.对了,现在只支持xlsx格式的excel读取 我现在想在第三行插入3,3,3怎么办呢? #!/usr/bin/env python # _*_ coding:utf-8 _*_ # 导入excel读取模块 from openpyxl import load_workbook from openpyxl.cell import get_column_letter # 将excel文件加载到内存对象中 wb = lo

Python 读Excel数据

一.读取Excel数据的步骤及方式: 1.打开Excel文件 data = xlrd.open_workbook(r'D:\Interface_test\test_data\测试用例.xlsx') 2.选取一个工作表进行读取 sheet = data.sheey_by_name('alldata') 3.整行的读取工作表中每一行的数据(sheet.row_value()返回的是列表形式) info = sheet.row_value(rownum) 该步骤中需要遍历循环Excel表中每一行数据: