博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读取 Excel 之 NPOI
阅读量:4482 次
发布时间:2019-06-08

本文共 1967 字,大约阅读时间需要 6 分钟。

HSSFWorkbook hssfworkbook;        void InitializeWorkbook(string path)        {            //read the template via FileStream, it is suggested to use FileAccess.Read to prevent file lock.            //book1.xls is an Excel-2007-generated file, so some new unknown BIFF records are added.             using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read))            {                hssfworkbook = new HSSFWorkbook(file);            }        }        DataSet ConvertToDataTable()        {            // ISheet sheet = hssfworkbook.GetSheetAt(0);            DataSet dataSet1 = new DataSet();            foreach (ISheet sheet in hssfworkbook)            {                DataTable dt = new DataTable();                int columnCount = 0;                foreach (HSSFRow row in sheet)                {                    columnCount = Math.Max(columnCount, row.LastCellNum);                }                for (int j = 0; j < columnCount; j++)                {                    dt.Columns.Add(Convert.ToChar(((int)'A') + j).ToString());                }                foreach (HSSFRow row in sheet)                {                    DataRow dr = dt.NewRow();                    for (int i = 0; i < columnCount; i++)                    {                        ICell cell = row.GetCell(i);                        dr[i] = cell == null ? "" : cell.ToString();                    }                    dt.Rows.Add(dr);                }                dataSet1.Tables.Add(dt);            }            return dataSet1;        }        private void btnImport_Click(object sender, EventArgs e)        {            InitializeWorkbook(@"xls\A499ANN636412MO.xls");            DataSet dataSet1 = ConvertToDataTable();            dataGridView1.DataSource = dataSet1.Tables[0];        }

读取一个Excel 的多个 Sheet  并放到一个 DataSet 里。

当写 byte[] 时,要使用 ms.ToArray(); 而不要使用 ms.GetBuffer();

前者虽然稍慢,但不会在 Excel 文件中形成很多空字节。

转载于:https://www.cnblogs.com/z5337/p/3730585.html

你可能感兴趣的文章
[转载] Python 标准库 urllib2 的使用细节
查看>>
Silverlight使用DataGrid的模板列(DataGridTemplateColumn)实现类似TreeListView控件的效果
查看>>
Java学习——Applet写字符串(调字体)
查看>>
react路由
查看>>
nyoj 220——推桌子——————【贪心】
查看>>
java 静态方法分析
查看>>
codevs——4189 字典&&HihoCoder #1014 : Trie树
查看>>
洛谷——P1602 Sramoc问题
查看>>
【MySQL笔记】字符串、时间日期转换
查看>>
jQuery实战之仿淘宝商城左侧导航效果
查看>>
AC日记——「SCOI2016」幸运数字 LiBreOJ 2013
查看>>
unmount
查看>>
数据库连接池
查看>>
javascript获得和设置以及移除元素属性的三个方法
查看>>
windwos iis 7.5 使用html 报405错误
查看>>
范围(地址转换)
查看>>
Unity3D游戏,TCP,WEBCOSKT,HTTP通信架构 weaving-socket
查看>>
【小程序入门集锦】19,微信小程序个人帐号申请
查看>>
php写一个简单的计算器
查看>>
【JAVA零基础入门系列】Day3 Java基本数据类型
查看>>