读取EXCEL的办法

private void button9_Click(object sender, EventArgs e)
        {
            var folder =new FolderBrowserDialog();
            if (folder.ShowDialog() == DialogResult.OK)
            {
                GetAllDirList(folder.SelectedPath);

                var SixCount = 0;
                var SevenCount = 0;
                var sixsb = new StringBuilder();
                var sevensb = new StringBuilder();

                for (var i = 0; i < fl.Count; i++)
                {
                    var six = false;
                    var seven = false;

                    var fi = (FileInfo)fl[i];
                    var dataTable = ReadExcel(fi.FullName);

                    for (var k = 0; k < dataTable.Rows.Count; k++)
                    {
                        if (dataTable.Columns.Count == 6)
                        {
                            var a0 = dataTable.Rows[k][0].ToString();
                            var a1 = dataTable.Rows[k][1].ToString();
                            var a2 = dataTable.Rows[k][2].ToString();
                            var a3 = dataTable.Rows[k][3].ToString();
                            var a4 = dataTable.Rows[k][4].ToString();
                            var a5 = dataTable.Rows[k][5].ToString();

                            if ((a0 == "") || (a1 == "") || (a2 == "") || (a3 == "") || (a4 == "") || (a5 == ""))
                            {
                                continue;
                            }
                            six = true;
                            sixsb.Append(dataTable.Columns[0].ColumnName + "  " + dataTable.Columns[1].ColumnName + "  " + dataTable.Columns[2].ColumnName + "  " + dataTable.Columns[3].ColumnName + "  " + dataTable.Columns[4].ColumnName + "  " + dataTable.Columns[5].ColumnName);
                            sixsb.Append("\r\n");
                            sixsb.Append(a0 + "  " + a1 + "  " + a2 + "  " + a3 + "  " + a4 + "  " + a5);
                            sixsb.Append("\r\n");
                        }

                        if (dataTable.Columns.Count == 7)
                        {
                            var a0 = dataTable.Rows[k][0].ToString();
                            var a1 = dataTable.Rows[k][1].ToString();
                            var a2 = dataTable.Rows[k][2].ToString();
                            var a3 = dataTable.Rows[k][3].ToString();
                            var a4 = dataTable.Rows[k][4].ToString();
                            var a5 = dataTable.Rows[k][5].ToString();
                            var a6 = dataTable.Rows[k][6].ToString();

                            if ((a0 == "") || (a1 == "") || (a2 == "") || (a3 == "") || (a4 == "") || (a5 == "") || (a6 == ""))
                            {
                                continue;
                            }
                            seven = true;

                            sevensb.Append(dataTable.Columns[0].ColumnName + "  " + dataTable.Columns[1].ColumnName + "  " + dataTable.Columns[2].ColumnName + "  " + dataTable.Columns[3].ColumnName + "  " + dataTable.Columns[4].ColumnName + "  " + dataTable.Columns[5].ColumnName + "  " + dataTable.Columns[6].ColumnName);
                            sixsb.Append("\r\n");
                            sevensb.Append(a0 + "  " + a1 + "  " + a2 + "  " + a3 + "  " + a4 + "  " + a5 + "  " + a6);
                            sevensb.Append("\r\n");
                        }
                    }
                    if (six) SixCount++;
                    if (seven) SevenCount++;

                    Program.MyFrm.SetTextMessage("SixCount:" + SixCount);
                    Program.MyFrm.SetTextMessage("SevenCount:" + SevenCount);

                    Program.MyFrm.SetTextMessage("========以下为六个字段的信息======================================");
                    Program.MyFrm.SetTextMessage(sixsb.ToString());

                    Program.MyFrm.SetTextMessage("========以下为七个字段的信息======================================");
                    Program.MyFrm.SetTextMessage(sevensb.ToString());
                }
            }
        }
        private static DataTable ReadExcel(string strFileName)
        {
            var book = new Workbook(strFileName);
            var sheet = book.Worksheets[0];
            var cells = sheet.Cells;

            return cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);
        }
        private static ArrayList fl = new ArrayList();
        //我把ArrayList当成动态数组用,非常好用
        private static void GetAllDirList(string strBaseDir)
        {
            fl.Clear();

            var di = new DirectoryInfo(strBaseDir);
            var diA = di.GetDirectories();
            var fiA = di.GetFiles();//获得了所有起始目录下的文件

            for (var i = 0; i < fiA.Length; i++)
            {
                fl.Add(fiA[i]);
            }
            for (var i = 0; i < diA.Length; i++)

            {
                GetAllDirList(diA[i].FullName);
            }
        }
时间: 2024-10-13 06:55:32

读取EXCEL的办法的相关文章

python读取excel,数字都是浮点型,日期格式是数字的解决办法

excel文件内容: 读取excel: # coding=utf-8 import xlrd import sys reload(sys) sys.setdefaultencoding('utf-8') import traceback class excelHandle: def decode(self, filename, sheetname): try: filename = filename.decode('utf-8') sheetname = sheetname.decode('ut

python读取excel文件(xrld模块)

Python读取excel文件 一.python  xlrd模块 安装 mac 下安装python  xlrd模块 http://www.crifan.com/python_read_excel_xls_file_xlrd/comment-page-1/ python setup.py install 在mac 下出现的错误是 http://stackoverflow.com/questions/18199853/error-could-not-create-library-python-2-7

C#读取excel文件,生成json

这段时间在做一个数据管理系统,需要读取excel表格,组装json,最终存入mongodb,这里记录一下解决思路. 需要做的准备工作: 1.安装AccessDatabaseEngine 下载地址:https://products.office.com/zh-cn/compare-all-microsoft-office-products?tab=1 有32bit和64bit两个版本,具体要安装哪个要看你的Office程序是32bit的还是64bit的.通常来讲,一般是选择与office程序相对应

Matlab 读取excel文件提示服务器出现意外情况或无法读取问题解决

1.问题描述: 该错误通常发生在应用函数读取excel文件(后缀xls或xlsx)时. 应用xlsread函数读取提示服务器出现意外情况: 应用importdata读取时提示can‘t open file: 其他格式如txt文档则可以正常读取. 2.问题解决 该问题与Matlab无关,为Excel端出现了问题.解决方案如下: 步骤:Excel选项——加载项——Com加载项 :去掉VisualStudion相关勾选. 去掉勾选的时候还可能出现“无法更改 中注册的office 加载项的连接状态”的提

JXL读取Excel日期时间不准确

XL读取Excel日期时间多出了8个小时. Cell c = rs.getCell(j, i);                     if (c.getType() == CellType.DATE) {//手动填写模板文件时为 date 类型,其他情况有可能不是date类型                         DateCell dc = (DateCell) c;                         Date date = dc.getDate();       

[Python]xlrd 读取excel 日期类型2种方式

有个excle表格需要做一些过滤然后写入数据库中,但是日期类型的cell取出来是个数字,于是查询了下解决的办法. 基本的代码结构 data = xlrd.open_workbook(EXCEL_PATH) table = data.sheet_by_index(0) lines = table.nrows cols = table.ncols print u'The total line is %s, cols is %s'%(lines, cols) 读取某个单元格: table.cell(x

Delphi中使用python脚本读取Excel数据

Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://seewind.blog.51cto.com/249547/46669前段时间,在正式项目中使用Python来读取Excel表格的数据.具体需求是,项目数据库中有些数据需要根据Excel表格里面的数据进行一些调整,功能应该比较简单.为了学习Pyth

python读取excel表格生成sql语句 第一版

由于单位设计数据库表·,都用sql.不知道什么原因不用 powerdesign或者ermaster工具,建表很痛苦  作为程序猿当然要想办法解决,用Python写一个程序解决 需要用到 xlrd linux下 sudo pip install xlrd 主要是适用于db2数据库 excel 表结构 其中 number是不正确的字段类型 不知道同事为啥这么设置.这里程序里有纠错,这个程序就是将sql语句拼好. __author__ = 'c3t' # coding:utf-8 import xlr

PHP读取Excel里的文件

下载phpExcelReader  http://sourceforge.net/projects/phpexcelreader 解压后得到下面这些文件 jxlrwtest.xls这个excel文件有错误,自己重新建了个 example.php和example2.php两个文件的输出不一样 example.php example2.php 另外,在运行example.php的时候可能报一些错误,下面是在网上找的解决办法: 错误一:Deprecated: Assigning the return